我有一个webapp和一个服务器端应用程序,当服务器端应用程序成功保存webapp的POST时,它以“已保存”响应,否则返回“错误”,如何创建IF
语句到检查回复?
function send(family){
$.ajax({
type: 'POST',
url: 'http://sistema.agrosys.com.br/webpro/webadm/wcgarvore',
data: family,
success: function(data, textStatus ){
console.log('DONE: Request has been successfully sent');
if(data === 'error'){ //how can I do it
alert("ERR:\n\ncouldn't save");
}
},
error: function(xhr, textStatus, errorThrown){
alert('Envio Falhou\n\nERR: '+errorThrown);
}
});
}
答案 0 :(得分:1)
尝试此操作并修剪返回字符串 if($.trim(data) === 'error')
。这可能是一个空白问题。您可以确定是否签入控制台并查看返回的内容。修剪回报然后进行比较。
答案 1 :(得分:0)
如果服务器以正确的错误消息响应,那么它将在成功处理程序中接收。
所以,成功处理程序您将接收数据作为对象或字符串。
现在,在这种情况下,你希望它是一个字符串'error'而不是检查对象,它可能是data.status或data.textstatus。
所以在if条件之前添加console.log(data)并检查。
console.log(data);
if(data.status == 'error'){}
如果数据在对象检查中检查相应的条件。
答案 2 :(得分:0)
请考虑以下示例(使用PHP 5.5.9和Firefox 39进行测试)。
ajaxtest.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script>
$(document).ready(function() {
$('#sendAjax').click(function () {
send($('input[name="param"]').val());
});
});
function send(test_data){
$.ajax({
type: 'POST',
url: 'ajaxtest.php',
data: { msg: test_data },
success: function(data, textStatus ){
console.log('DONE: Request has been successfully sent');
console.log(data);
if(data === 'error'){
$('#response').text('error');
$('input[name="param"]').val('get_success');
} else {
$('#response').text('success');
$('input[name="param"]').val('get_error');
}
},
error: function(xhr, textStatus, errorThrown){
alert('Envio Falhou\n\nERR: '+errorThrown);
}
});
}
</script>
</head>
<body>
<button id="sendAjax">Send Ajax</button>
<div id="response"></div>
<input type="hidden" name="param" value="get_success" />
</body>
</html>
ajaxtest.php
<?php
if ($_REQUEST['msg'] == 'get_error') {
echo "error";
} else {
echo "success";
}
希望这有帮助。