我無法獲得此請求,無法執行除失敗之外的任何操作。我使用curl和web開發者工具欄來檢查創建的URL,WD總是說響應可以正確地返回爲200.我嘗試將內容類型改爲文本,八位字節流和註釋。我也採用了JSON響應並使用JSONLint對其進行了驗證。Jquery .ajax獲取請求始終失敗
我正在使用的代碼是這樣的;
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/testing.css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" ></script>
<script type="text/javascript">
$(function(){
$("body").append("<p>Testing.....</p>");
var test= {latitude:"37.0205",longitude:"-7.969141667",startDate:"09-01-2014",endDate:"09-02-2014"};
var url="<hidden>";
$.ajax({
url : url,
type: "GET",
data : test,
dataType:"json",
contentType:"application/json",
success: function(data,status)
{
$("body").append("<p>Success"+JSON.stringify(data)+"</p>");
$("body").append("<p>Success"+status+"</p>");
},
error: function (jqXhr,textStatus,errorThrown)
{
$("body").append("<p>Failure " + JSON.stringify(jqXhr)+"----- "+ textStatus+ "----- "+ errorThrown+"</p>");
}
});
$("body").append("<p>input"+JSON.stringify(test)+"</p>");
});
</script>
</head>
<body>
<h1>Weather test</h1>
</body>
</html>
從錯誤中功能網頁瀏覽器的輸出是 「失敗{」 readyState的 「0」,responseText的 「:」」, 「狀態」:0, 「狀態文本」: 「錯誤」} - ---錯誤-----「
頭的形式爲,
HTTP/1.1 200 OK的Cache-Control:私人,最大年齡= 0服務器: 微軟IIS/7.5 X-ASPNET-版本:4.0.30319 X供電,通過:ASP.NET 日期:星期五,2014年10月3日11時57分47秒GMT的Content-Length:25328
並且使用curl -ivs -raw將URL採集到所有合適的get參數。在這之後直接跟隨有效的JSON。我擔心沒有內容類型可能會引發這種情況。
我知道有很多像這樣的其他問題,但我想先通過他們和應用經驗教訓。如果您有任何其他建議,我將非常感激。
感謝,
什麼'url'的值?特別是,它是用於不同的來源(例如,不同的域),您正在運行該腳本的頁面? – apsillers 2014-10-03 13:16:25
剛剛嘗試過,沒有改變,但謝謝。 – James 2014-10-03 13:16:32
@實際上'數據:測試''將使用'$ .param'將'test'對象轉換爲URL參數。這是正常的行爲。 – Regent 2014-10-03 13:16:33