在引用此堆栈链接Ajax response not calling success:function() when using jQuery 1.8.3之后,我想知道为什么如果我取消注释数据类型行,则不会调用success函数。我可以理解dataType = JSON没有调用成功函数。可能有人帮助我吗?< / p>
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);
答案 0 :(得分:0)
如果没有传递成功功能,请输入错误功能。通过这种方式,您将能够看到错误并了解正在发生的事情。
您还可以打开开发者控制台并查看“网络”面板。
答案 1 :(得分:0)
假设您正在呼叫callBackFunctiontest
,那么应该调用doAjaxCall
。
当范围内没有名为data
的变量时,您尝试使用data
。它将抛出一个未定义的异常,doAjaxCall
将不会被执行。所以你的AJAX请求永远不会被发送。
尝试删除console.log('callBackFunctionTest : ' +data);
,或为data
传递一个值。
答案 2 :(得分:0)
我正在使用Express JS Web框架和NodeJS,它们都是最新版本-4.x.x。
问题1 -并非我的所有POST ajax调用都已发送到我的NodeJS服务器代码。 我如何找到这是通过尝试使用Postman进行POST。服务器代码收到所有POSTMAN呼叫请求,但Express客户端请求未收到。我通过打印console.log服务器调试语句进行检查,以比较POSTMAN和Express Client之间的发现。
问题2 -我从未收到来自服务器的任何响应消息,即使服务器以200 OK状态进行了响应。 对于这两个问题,我进行了一些更改,相信会对其他人有所帮助。