5

我有以下 ajax 帖子:

$.ajax( {
    type: "POST",
    url: "http://192.168.7.9/api",
    dataType: 'json',
    data: { username: "john.doe", password: "123456", method: "search_samples" },
    success: function ( data ) {
       // Never get here
    },
    error: function ( XMLHttpRequest, textStatus, errorThrown ) {
        // Always here: if async true, errorThrown has no message
        // otherwise I se the NETWORK_ERR message
    }
} );

它返回此错误:NETWORK_ERR: XMLHttpRequest Exception 101。

我已经阅读了一堆关于此错误的 SO 帖子,大多数建议我将 async 设置为 true。这确实删除了错误消息 - 但它仍然是一个错误,我从来没有得到有效的数据。它似乎只是删除了无用的错误消息。

在提琴手中,在同一台开发机器上,这可以完美运行-这是 chrome 问题吗?产地问题?我的语法有问题吗?

4

1 回答 1

1

好的,您似乎遇到了相同来源策略的问题。按照您的操作方式,您无法从与托管应用程序的服务器不同的服务器访问 AJAX 数据。

为此,您要么必须将http://192.168.7.9/api功能移动到服务器上,要么使用 JSONP 传输数据。是一个如何执行此操作的示例。

于 2013-03-27T21:07:32.223 回答