1

我使用 chrome 尝试访问我的本地服务器。还使用 jquery-2.0.3 和 jquery-mobile-1.4.0-rc。我的页面网址是:file:///C:/Users/....../index.html

我的代码如下所示:

var login = {
    in: function(){

        var ajaxUrl = "http:// localhost/Account/Login/";
        var loginModel = {
            UserName: $("#userMame").val(),
            Password: $("#password").val(),
            RememberMe: true
        };
        $.mobile.loading('show');
        $.ajax({
            type: "POST",
            url: ajaxUrl,
            dataType: 'json',
            data: JSON.stringify(loginModel),
            contentType: "application/json;charset=windows-1255",
            scriptCharset: "windows-1255",
            headers : {Accept : "application/json",
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Methods": "POST,GET",
            "Access-Control-Allow-Headers": "X-Authorization,X-Requested-With"},
            crossDomain : true,
            success: login.inSuccess,
            error: login.inFailure
        });
    },
    inSuccess: function(obj) {
        alert("Success");
    },
    inFailure: function(obj, b, c) {
        alert("Failure");
    }
}

$(document).bind('pageinit', function () {

    $.support.cors = true;
    $.mobile.allowCrossDomainPages = true;
});

调用 login.in() 时,我不断收到相同的错误:

OPTIONS http://localhost/Account/Login/ Origin null 是 Access-Control-Allow-Origin 不允许的。

如您所见,我已经尝试了所有方法。. .

4

1 回答 1

1

出于安全原因,JavaScript 对客户端文件系统的访问受到限制 - 考虑您是否希望(其他人的)JavaScript 读取您的敏感文档。

即使在试验时最好使用真实的拓扑结构,从服务器提供的东西将在真实系统中从那里提供。

设置一个像 Apache 这样的 web 服务器指向你的开发目录真的很容易,所以“服务器”只是你伪装的桌面。因此编辑/测试周期非常快。

使用 AJAX 读取本地文件

于 2013-11-11T21:21:22.837 回答