我有一个服务器响应,它发回一个像这样的对象:
{
success: integer
}
在客户端,我有
return body && body.success;
问题是整数可能为零,在这种情况下,上述内容将返回body
而不是body.success
。
我可以使用什么最好的速记来始终返回值?
答案 0 :(得分:0)
您应该始终在后端初始化您的媒体资源。我会设置为" -1"。
function ajaxCall() {
return { success: true, id: 10 };
//return null;
}
function GetData() {
var myData = ajaxCall();
if (typeof myData === "undefined"
|| myData == null
|| typeof myData.success === "undefined"
|| myData.success == null) {
return { success: false, id: 0 };
}
return myData;
}
var body = GetData();
// init
(function(){
document.getElementById("MyMessage").innerHTML = ((body.success) ? "Success - " + body.id : "Failed") ;
})();

<div id="MyMessage"></div>
&#13;
答案 1 :(得分:-1)
这会有效吗?
return body && (typeof body.success !== "undefined" ? body.success : false);
括号可能不正确,但这应该检查身体定义?如果是这样,是否定义了body.success?如果不回归身体。
如果定义了body.success,则返回body.success。如果没有,请回复身体。
可以这样写:
If (body)
return (typeof body.success !== "undefined" ? body.success : body);
else return false;