Javascript ajax中If和else条件的内部成功
正如标题所说,我希望在Ajax中的成功条件内运行if和else,例如,在运行Ajax并看到有一条记录后,它将进入成功状态,然后在成功状态内,它必须查找“if语句”,并在“if语句”内显示警报(如果该语句为真),但它始终显示“else语句”,其中包含警报('no'),即使有记录,也要感谢您Javascript ajax中If和else条件的内部成功,javascript,ajax,Javascript,Ajax,正如标题所说,我希望在Ajax中的成功条件内运行if和else,例如,在运行Ajax并看到有一条记录后,它将进入成功状态,然后在成功状态内,它必须查找“if语句”,并在“if语句”内显示警报(如果该语句为真),但它始终显示“else语句”,其中包含警报('no'),即使有记录,也要感谢您 <script> function renderAttendees(id) { ///$("#attendeesContent").empty();
<script>
function renderAttendees(id)
{
///$("#attendeesContent").empty();
var dataString = { "id": id };
$.ajax({
type: 'POST',
url: server+'webservice/crm/viewAttendeesDetails',
data: dataString,
dataType: 'json',
contentType: "application/x-www-form-urlencoded",
cache: true,
success: function(data)
{
if($.trim(data) === 'error')
{
alert('yes');
}
else
{
alert('no');
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log("Error connecting to server. " + XMLHttpRequest + ", " + textStatus +", "+ errorThrown);
}
</script>
//我的模型代码
db->prepare(“从crm_联系人列表中选择*,其中id=:AttendId”);
$stmt->bindParam(“:AttendId”,$id);
$stmt->execute();
返回$stmt;
}
捕获(例外$e)
{
返回$e->getMessage();
返回$stmt;
}
返回;
}
?>
//这是console.log(数据)的结果
反对
电子邮件:“kyle@localhost.com"
全名:“测试金”
id:“1”
兴趣:“测试”
编号:“123456”
位置:“Prog”
venueID:“1”我会从你的控制器返回
{状态:“成功”,数据:myArrayWithFoundData}
因此,当您收到ajax响应时,可以进行json_解码,并检查状态
所以在你的控制器里你会
if($row = $AttendeesDetails->fetch(PDO::FETCH_ASSOC))
{
$this->tp->DBToHTMLAll($row, $data);
$rsp_data = {status: 'success', data: $data};
}else{
$rsp_data = {status: 'error', data: null};
}
echo json_encode($resp_data);
诸如此类,所以在ajax响应中
var a = JSON.parse(data);
然后检查
a.status
是否有错误您看到了哪一个错误?猜测一下…$。trim(data)=='error'
为false-换句话说,即使我不使用$,您也没有收到确切的单词error
作为响应。trim它始终转到else语句并发出警报('no')在it中,响应的实际值是什么?您请求了一种响应类型的数据:“json”
,因此jQuery需要json,请为您解析它,您的数据
参数将是结果对象-但是您将数据
视为字符串。您可以尝试控制台.log(数据)吗
之前的如果条件?可能会告诉您数据的实际值
var a = JSON.parse(data);