我正在尝试学习 javascript 最佳实践,但我有点困惑。我有红色,最好的ajax实践是:
function doSomething(arg1, arg2) {
jQuery.ajax({
var urlink = resourceURL
url: urlink,
cache: false,
data : "testData"+arg1,
type: "POST"
}).done(function(data) {
var obj = jQuery.parseJSON(data);
updateHtml1(obj);
updateHtml2(obj);
});
}
而不是这样:
function getSomething(arg1, arg2) {
jQuery.ajax({
var urlink = resourceURL
url: urlink,
cache: false,
data : "testData"+arg1,
type: "POST",
success: function(data) {
var obj = jQuery.parseJSON(data);
updateHtml1(obj);
updateHtml2(obj);
}
});
}
我想问哪种做法最好,为什么?
最佳答案
无论哪种方式都可以,只是使用 success
回调或 Promise 的区别,在本例中没有区别。如果您想从函数 doSomething
返回结果,那么您可以使用第一个方法,以便您可以返回 Promise,因为 done
方法可以绑定(bind)到外部函数。
这两个示例都过于复杂,并且 var urlink = resourceURL
被放置在对象文字中,因此实际上都不起作用。您还应该在调用中指定dataType
,然后数据将被自动解析。
在第一个示例中,您不需要额外的函数包装器。
function doSomething(arg1, arg2) {
jQuery.ajax({
url: resourceURL,
cache: false,
data : "testData"+arg1,
type: "POST",
dataType: "json"
}).done(function(data) {
updateHtml1(data);
updateHtml2(data);
});
}
第二个应该是:
function getSomething(arg1, arg2) {
jQuery.ajax({
url: resourceURL,
cache: false,
data : "testData"+arg1,
type: "POST",
dataType: "json",
success: function(data) {
updateHtml1(data);
updateHtml2(data);
}
});
}
关于javascript - AJAX 最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28431236/