在控制台日志中收到以下消息 原因:CORS header “Access-Control-Allow-Origin”丢失 所以我检查了一些堆栈溢出解决方案,但无法解决某些可以帮助我解决它的问题。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).ready(function ()
{
var save_temp = {
"token": "e2c420d928d4bf8ce0ff2ec19b371514"
};
var comment_data = JSON.stringify(save_temp);
//alert(comment_data);
var request = $.ajax({
url: "http://vyhub.com/irmtapi/dailyreport/checkReport",
type: "POST",
data:comment_data,
contentType: "application/json; charset=utf-8",
dataType: 'json',
});
request.done(function(msg)
{
// $("#log").html( msg );
alert(msg)
});
request.fail(function(jqXHR, textStatus) {
alert( "Request failed: " + textStatus );
});
});
</script>
最佳答案
这显然是服务器端代码的问题,它没有发送正确的 header 来允许跨源请求共享。您需要enable CORS通过两种方式在 Apache Server 中使用 PHP。
方法 1:使用 Apache 服务器的设置。
使用 Apache 的 .htaccess
,您可以通过添加以下行来启用 CORS:
Header set Access-Control-Allow-Origin "*"
为此,您需要确保启用 mod_headers
模块。您可以使用 sudo a2enmod headers 来启用此功能。为此,您需要 sudo 权限。另外,在更改配置后,您需要使用 sudo service apache2 reload
重新启动 Apache Server。
方法 2:使用 PHP 代码。
或者,如果您对服务器管理没有太多控制权,则可以在响应您的请求的脚本中启用它。只需将其添加到 PHP 文件的顶部,以便浏览器允许 AJAX 访问:
<?php
header("Access-Control-Allow-Origin: *");
如果您还有任何疑问,请告诉我。欲了解更多信息,请参阅以下引用资料:
关于javascript - 我的ajax方法不起作用,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39892580/