問題:
如何使用 JavaScript 執行跨域 POST 請求無需刷新頁面或要求響應
解決方案:
了解跨源資源共享(CORS)
為了方便跨域通信, CORS 是在伺服器上實現的標準。透過在伺服器上設定回應標頭,您可以授予特定網域存取您自己網域上資源的權限。
伺服器端設定(使用PHP):
<?php switch ($_SERVER['HTTP_ORIGIN']) { case 'http://from.com': case 'https://from.com': header('Access-Control-Allow-Origin: '.$_SERVER['HTTP_ORIGIN']); header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS'); header('Access-Control-Max-Age: 1000'); header('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With'); break; } ?>
這允許來自from.com 的腳本發出跨域POST、GET 和OPTIONS請求。
客戶端 AJAX 請求 (使用 jQuery):
$.ajax({ type: 'POST', url: 'https://to.com/postHere.php', crossDomain: true, data: '{"some":"json"}', dataType: 'json', success: function(responseData, textStatus, jqXHR) { var value = responseData.someKey; }, error: function (responseData, textStatus, errorThrown) { alert('POST failed.'); } });
處理:
注意事項:
以上是如何在 JavaScript 中進行跨域 POST 請求,無需刷新頁面,無需解析回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!