我目前正在为我的网上商店应用程序编写一个 JS 类,以访问存储在服务器上的产品信息。信息应异步加载。为此,我使用dojo.xhrPost()
. 我想为这个类重写一个函数,调用getProductName(productId:int):String
它返回给定产品 ID 的产品名称。该函数使用实习生dojo.xhrPost()
。但是由于我必须将新函数传递给加载和错误,我应该返回加载的产品名称dojo.xhrPost()
吗?
这个函数的使用:其他JS函数调用这个来加载产品名称来更新购物车网页,而不需要重新加载整个页面。返回的数据采用 JSON 格式,因为传输了一些附加信息以进行错误处理(客户端函数必须知道服务器端是否发生任何错误)。
该函数的代码getProductName(productId:int)
:
function getProductName(productId) {
dojo.xhrPost({
url: '/shop/dataProduct.php',
handleAs: 'json',
content: {productId:productId},
load: function(response, ioArgs) {
if (!response.error) {
// here I would like to return response.data to the caller of myObj.getProductName(productId)
} else {
// here I would like to return "error" to the caller of myObj.getProductName(productId)
}
return response;
},
error: function(response, ioArgs) {
// here I would like to return "error" to the caller of myObj.getProductName(productId)
return response;
}
});
}
用法:
var productName = myObj.getProductName(5);