我正在调用API并在JavaScript中按预期返回结果。如果返回400状态,我会调用另一个API,我正在使用if语句。但是,这个“if”永远不会被触发,我认为是因为我的反应被阅读的方式。我的代码是:
var getSearchPrimary = {
url: 'SEARCH_URL',
type: 'POST',
crossDomain: true,
dataType: 'jsonp',
context : this,
cache : true,
timeout: 60000,
success : function(e) {
status = JSON.stringify(e.status.code);
if(status === "400"){
console.log("failed");
this.getSearchSecondary(query);
}else{
console.log(JSON.stringify(e));
}
在这种情况下,当我console.log(status);
时,我得到"400"
所以我真的不确定为什么我的if语句永远不会被解雇!
回复是:
{“status”:{“code”:“400”,“message”:“错误:没有与查询匹配的结果”},“回复”:{“结果”:“”}}
我现在已经盯着这一段时间了,非常感谢任何见解!!
答案 0 :(得分:1)
"成功"请求成功时调用方法。当返回400时,这并不成功。使用"错误"而不是提供在请求失败时执行的函数。