2013-03-27 91 views
5

我有以下AJAX柱:NETWORK_ERR:AJAX POST錯誤:NETWORK_ERR:XMLHttpRequest的異常101

$.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 
    } 
}); 

它與此錯誤返回的XMLHttpRequest異常101.

我已閱讀一串SO在這個錯誤上的帖子,大多數人建議我將async設置爲true。這樣做會刪除錯誤消息 - 但仍然是錯誤,並且我從來沒有收到有效的數據。它似乎刪除了無用的錯誤消息。

在小提琴手中,在同一個開發機器上,這個工作非常完美 - 這是一個鉻合金問題嗎?起源問題?我的語法有問題嗎?

+0

這是一個跨域請求(即你的主應用程序沒有在'http:// 192.168.7.9'上運行)嗎? – Steve 2013-03-27 20:53:51

+0

@Steve這些機器在同一個子網上,但192.168.7.9機器根本不在域中... – Nicros 2013-03-27 20:59:55

回答

1

好的,它看起來像是遇到了與same origin policy問題。你這樣做的方式,你不能訪問不同於託管應用程序的AJAX數據。

爲此,您必須將http://192.168.7.9/api功能移動到您的服務器上或使用JSONP傳輸數據。 Here是如何這樣做的一個例子。

+0

到目前爲止沒有運氣 - 我試圖按照描述使用jsonp,但現在出現以下錯誤:'jQuery19108882399478461593_1364424507799未被調用'。我想我讀過服務器本身必須支持jsonp的地方?也許這是怎麼回事? – Nicros 2013-03-27 22:49:54