链式jQuery AJAX承诺与自定义的

时间:2015-08-11 15:34:12

标签: jquery ajax promise jquery-deferred

我有一个特定的网站,我不能像往常那样依赖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;
}

但我无法想象在代码中插入我的承诺的简洁方法。

2 个答案:

答案 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,以便rejectsuccessFunction可以访问它。不确定你的回答究竟是什么样的,但作为一个例子:

failFunction

答案 1 :(得分:0)

var myAjaxCall=function(data) { return $.ajax({method: 'post', url: "myUrl", data: data}); } console.log(myAjaxCall("data").responseText()); });请检查您在请求后收到的回复文字。然后将其传递给您想要的任何变量或函数。

相关问题