Jquery ajax请求失败,可能是因为CORS?

Jquery ajax请求失败,可能是因为CORS?,jquery,ajax,cors,Jquery,Ajax,Cors,我有一个基本的ajax请求,用于检索菜单并将其放在网页上 这是密码 //display the menu $.post(server+"quizz/phpScripts/retrieveMenu.php", {}, function(data){ $("nav, #lowerMenu").html(data); }); 在我的原始文件中,“服务器”是“localhost”,但当我托管该站点并试图打开该页面时,我在控制台中遇到此错误 使用firefox Cross-Origin Requ

我有一个基本的ajax请求,用于检索菜单并将其放在网页上

这是密码

//display the menu
$.post(server+"quizz/phpScripts/retrieveMenu.php", {}, function(data){
    $("nav, #lowerMenu").html(data);
});
在我的原始文件中,“服务器”是“localhost”,但当我托管该站点并试图打开该页面时,我在控制台中遇到此错误

使用firefox

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://edwaze.com/quizz/phpScripts/retrieveMenu.php. (Reason: CORS header 'Access-Control-Allow-Origin' missing).
使用Safari

XMLHttpRequest cannot load https://edwaze.com/quizz/phpScripts/retrieveMenu.php. Origin http://www.edwaze.com is not allowed by Access-Control-Allow-Origin.
使用铬

XMLHttpRequest cannot load https://edwaze.com/quizz/phpScripts/retrieveMenu.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://edwaze.com' is therefore not allowed access.
关于这一点,我读了不少书,但还没有找到解决办法。请帮忙。请简单地使用术语,我对ajax有点陌生:)


谢谢。

由于您没有提出任何跨域请求,因此最好使用根相对URL:

$.post("/quizz/phpScripts/retrieveMenu.php" 
前导的
/
表示应用程序的根



当您在url中添加了
http/https
协议,并且url托管在Web服务器上而不是本地主机上时,就会出现此问题。

请查看此url。它将帮助您解决您的查询


根据错误,您似乎需要设置交叉源,以便可以从另一个域访问数据。

请在此处阅读有关CORS的更多信息:您是否提出了任何跨域请求?您已托管到
https
安全服务器。@ParthTrivedi!是的,这是一个https安全服务器,这对我来说是更简单还是更困难?@VincentHokie是您试图使用AJAX下载的资源,它与发出请求的页面托管在同一服务器上?您是否可以控制该远程域?允许您的站点脚本访问的标题必须设置在那里–您不能在您的终端设置它们。这太棒了。我该怎么做?这个答案不相关,因为OP实际上并没有试图提出跨源请求。不幸的是,这不起作用。错误已经消失了,但我仍然没有得到菜单displaying@VincentHokie您能告诉我们您在浏览器检查器工具的“网络”选项卡中看到了什么吗?您是否看到任何记录的请求?抱歉@Jai is您的解决方案似乎有效,我的查询正在服务器端执行,我的问题现在似乎是php版本。谢谢你。您知道php版本5.4本机在哪里支持mysqli函数吗?