[英]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.