10

我有一个包含以下代码的 code.html 文件。

$.ajax({ 
    type: "POST", 
    datatype: "JSONP",
    url: "path",
    success: function(msg){
    var e = document.createElement("div");
    e.id = "ads";
    document.body.appendChild(e);
    $("#ads").html(msg);
    }
});

当我在浏览器中打开 code.html 文件时,它给出了一个错误:

**"XMLHttpRequest cannot load file://..... Origin null is not allowed by Access-Control-Allow-Origin."**

是什么原因造成的,我能做些什么来解决这个问题?

4

2 回答 2

9

我会做两个假设:

  • 您可能正在使用 chrome
  • 您正在从文件系统打开文件(即双击)

然后,这个问题是XMLHttpRequest Origin null is not allowed Access-Control-Allow-Origin for file:/// to file:/// (Serverless)的重复

浏览器正在阻止跨站点脚本。请参阅:https ://developer.mozilla.org/en-US/docs/HTTP_access_control

于 2012-10-29T18:48:54.080 回答
2

如果您的 dataType 是jsonp(小写的),则 ajax 类型必须GET不是POST

更新:

使用 $.getJSON 而不是 $.ajax 应该可以解决您的问题

于 2011-08-17T11:38:00.127 回答