我有一个特定的网站,我不能像往常那样依赖HTTP状态代码来触发AJAX调用后的成功或失败。 我已经采用的解决方法是将响应构建为具有"类型"的JSON对象。属于"成功的财产"或"错误"。
我是辅助功能:
function myAjaxCall(data) {
return $.ajax({method: 'post', url: myUrl, data: data});
}
我想要实现的目标是实现这一目标:
myAjaxCall(data).then(successFunction, failFunction);
我试图介入此功能:
function myPromise(response) {
var d = $.Deferred();
response.type == 'success' ? d.resolve() : d.reject();
return d;
}
但我无法想象在代码中插入我的承诺的简洁方法。
答案 0 :(得分:1)
只需将其链接到public class CreateCustomer
{
public string Name {set;get;}
public string Email{set;get;}
}
:
then
您的function myAjaxCall(data) {
return $.ajax({method: 'post', url: myUrl, data: data}).then(myPromise);
}
函数将收到响应作为其参数,myPromise
确实会返回对调用结果的承诺(您返回的承诺)。顺便说一下,您可能应该将响应的某些部分传递给then
/ resolve
,以便reject
和successFunction
可以访问它。不确定你的回答究竟是什么样的,但作为一个例子:
failFunction
答案 1 :(得分:0)
var myAjaxCall=function(data) { return $.ajax({method: 'post', url: "myUrl", data: data}); } console.log(myAjaxCall("data").responseText()); });
请检查您在请求后收到的回复文字。然后将其传递给您想要的任何变量或函数。