我正在使用jQuery Ajax从表单发布一些数据。这是我的代码。
$(() => {
$("#send-data").on("submit", () => {
$("#submit-button").prop('disabled', true);
$("#submit-button").html("SENDING...");
$.ajax({
url: 'send.php',
method: 'POST',
data: $("#send-data").serialize(),
success: (response) => {
if (response.indexOf('1900') != -1) {
$("#submit-button").removeAttr("disabled");
$("#submit-button").html("SENDING");
$('.error-msg').css('display', 'none');
$('.success-msg').css('display', 'inherit');
} else {
$("#submit-button").removeAttr("disabled");
$("#submit-button").html("SENDING");
$('.success-msg').css('display', 'none');
$('.error-msg').css('display', 'inherit');
}
}
})
return false;
})
})
首次请求时效果很好。但在那个回应后它没有用。错误是Uncaught TypeError: response.indexOf is not a function
。
response = {"responseCode":1900}
我向API(1)发送请求,然后该API(1)正在向另一个API(2)发送请求。该API(2)将该JSON响应{" responseCode":1900}提供给API(1)。我正在使用CURL(PHP)获得响应。然后我只是将响应发送给ajax。
有人可以帮忙吗?
更新:我已经解决了这个问题。问题出在这些API上。
答案 0 :(得分:0)
根据您的评论,您收到的json对象不是字符串。
因此你可以做到
if (response.responseCode != 1900)