我有使用amplify.js的代码:
amplify.request.define('data', 'ajax', {
url: "WebService.asmx/HelloWorld",
datatype: "json",
type: "POST"
});
amplify.request({
resourceId: 'data',
success: function(p1, p2, p3) {
debugger;
},
error: function(p1, p2, p3) {
debugger;
}
});
问题是服务器报告错误,然后在错误回调中,p1为空,p2为'错误'且p3未定义。
类似的jQuery.ajax正确填充这些参数。
$.ajax({
type: "POST",
url: "WebService.asmx/HelloWorld",
success: function(p1, p2, p3) {
debugger;
},
error: function(p1, p2, p3) {
debugger;
}
});
我是否缺少Amplify.js配置才能使其正常工作?
答案 0 :(得分:1)
答案 1 :(得分:0)
默认情况下,放大使用Jsend解码器,您可以用自己的解码器替换。 这是我的简单解码器,它将响应体JSON对象传递给成功和错误回调:
amplify.request.decoders._default = function( data, status, ampXHR, success, error ) {
if (status === "success") {
success(data);
} else {
error(JSON.parse(ampXHR.responseText));
}
}
PS。在此之前,请考虑调整您对jsend约定的api响应,请在此处阅读更多内容:http://labs.omniti.com/labs/jsend