问题:
如何使用 JavaScript 执行跨域 POST 请求JavaScript 无需刷新页面或要求响应
解决方案:
了解跨源资源共享(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中文网其他相关文章!