<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$.getJSON('http://localhost:8080/privateTraining/getTrainingsJson?callback=?',
function(data) {
console.log("success");
alert(data);
});
});
這裏的響應越來越多但是成功函數永遠不會運行。
這裏getJson是遠程服務器調用。
當我檢查與firbug,響應給予有效的JSON數據(被檢查與http://jsonlint.com/ JSON數據及其給結果作爲有效的JSON)
偶試過:
$.ajax({
dataType: "jsonp", //set this to json
url: "http://localhost:8080/privateTraining/getTrainingsJson",
success: function(data)
{
var myObj = data;
console.log(myObj); //to see the object
}
});
但給人同樣的結果..成功功能未執行
JSON無效JSONP。因此,如果你告訴jQuery期望JSONP(URL和'dataType:「jsonp」中的'callback =?'都會這樣做),那麼響應將被錯誤地評估,並且成功回調將不會被調用。那麼,服務器返回的是JSONP還是JSON?如果是JSON,請移除'callback =?'並將'dataType'設置爲''json''。現在,如果您正在進行跨域請求(即'http:// localhost:8080 /'不提供請求的頁面),則必須使用JSONP,在這種情況下,您必須設置你的服務器返回JSONP(你可以改用CORS)。 – 2013-04-08 13:29:06
因爲我們不知道服務器真正返回什麼以及您的網絡設置是什麼,所以猜測是我們能做的最好的。 – 2013-04-08 13:34:27
@FelixKling:服務器返回json數據 – monda 2013-04-08 13:44:11