[英]Unable to get the response from an ajax call in the success function
引用此堆棧鏈接Ajax response not call success:function() when using jQuery 1.8.3我想知道為什么如果我取消注釋數據類型行,成功函數不會被調用。我可以理解 dataType =JSON 沒有調用成功函數。可以有人幫我嗎?
function doAjaxCall(methodType,Url,params,requestType,callBackFunction)
{
if(validate.variable(Url) && validate.variable(params))
{
$.ajax({
type : methodType,
url : Url,
// dataType : 'JSON', //if i uncomment i am not getting the response under success
data : params,
success : function(data)
{
console.log(data);
callBackFunction(data);
}
});
}
}
function callBackFunctiontest(data)
{
console.log('callBackFunctiontest : ' +data);
}
doAjaxCall('GET','/getData?accountNumber=9840100672&oid=d11c9f66-4c55-4855-a99e-580ba8ef8d61','noparams','application/JSON',callBackFunctiontest);
如果它沒有傳入成功函數,則放置一個錯誤函數。 通過這種方式,您將能夠看到錯誤並了解發生了什么。
您還可以打開開發者控制台並查看“網絡”面板。
假設您正在調用callBackFunctiontest
,然后應該調用doAjaxCall
。
當范圍內沒有名為data
變量時,您正在嘗試使用data
。 它會拋出一個未定義的異常並且doAjaxCall
不會被執行。 所以你的 AJAX 請求永遠不會被發送。
嘗試擺脫console.log('callBackFunctionTest : ' +data);
,或傳遞給它一個data
值。
我正在使用 Express JS Web 框架和 NodeJS,兩個都是最新版本 - 4.xx
問題 #1 - 並非我所有的 POST ajax 調用都被發送到我的 NodeJS 服務器代碼。 我是通過嘗試使用 Postman POST 發現的。 所有 POSTMAN 調用請求都由服務器代碼接收,但不是 Express 客戶端請求。 我通過打印 console.log 服務器調試語句進行檢查,以比較 POSTMAN 和 Express Client 之間的發現。
問題 #2 - 即使服務器響應狀態為 200 OK,我也從未收到任何來自服務器的響應消息。 對於這兩個問題,我做了一些更改,我相信這會對其他人有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.