經過$.ajax()
發起的跨越請求代碼以下:javascript
$.ajax({ dataType: "JSONP", type: "GET", url: "http://...", data: {}, success: function(data, textStatus){ // 這裏什麼都沒處理,寫了也沒反應. }, error: function(xhr, textStatus, ex){ console.log(textStatus); console.log(ex); } });
發起 ajax 跨域請求後...java
// Firefox 控制檯下老是輸出 SyntaxError: missing ; before statement
咋一看SyntaxError
我還覺得是我代碼哪裏寫漏了,檢查事後,代碼沒問題.
同時把完整的請求,直接扔到瀏覽器地址欄裏訪問,響應是正常的.
可是在上面的代碼中,死活不執行success
對應的函數.
同時error
對應的函數輸出以下:jquery
parsererror Error: jQuery111209138057178219225_1496905174485 was not called 堆棧跟蹤: error@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:2:1809 b.converters["script json"]@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:27729 Pc@http://localhost:5903//js/jquery/jquery-1.11.2.min.js:4:18329 x@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:21743 send/b.onreadystatechange@http://localhost:5903/js/jquery/jquery-1.11.2.min.js:4:27017
初步懷疑是接口提供方沒有處理跨域請求,沒有把處理結果包含到JSONP
中對應的回調函數中再返回,而是直接返回了 JSON 格式的處理結果.ajax
TODO:待我試試經過轉發的方式可否解決...json