正如标题所说我想在Ajax中运行成功条件中的if和else,例如在运行Ajax之后看到有记录它会成功然后在成功内部它必须寻找& #34; if statement"并在" if语句中显示警告"如果该陈述为真,但它始终显示" else语句"内部有警报(' no'),即使有记录,谢谢
<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>
//我的控制器代码
public function viewAttendeesDetails()
{
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept');
$data = array();
$id = $_POST['id'];
$AttendeesDetails = $this->model->GetAttendeesDetail($id);
if($row = $AttendeesDetails->fetch(PDO::FETCH_ASSOC))
{
$this->tp->DBToHTMLAll($row, $data);
}
echo json_encode($data);
exit;
}
?>
//我的模型代码
db-&gt; prepare(&#34; SELECT * FROM crm_contact_list WHERE id =:AttendId&#34;); $ stmt-&gt; bindParam(&#34;:AttendId&#34;,$ id); $ stmt-&GT;执行(); return $ stmt; } catch(例外$ e) { return $ e-&gt; getMessage(); return $ stmt; } 返回; } ?&GT;//这是console.log(data);
的结果对象 电子邮件:&#34; kyle@localhost.com" full_name:&#34;测试kim&#34; ID:&#34; 1&#34; 兴趣:&#34;测试&#34; 数:&#34; 123456&#34; 位置:&#34; PROG&#34; venueID:&#34; 1&#34;
答案 0 :(得分:0)
我会从您的控制器返回类似
的内容 Enrol= new JCheckBox(Modules.get(i));
ModulePanel.add(Enrol);
所以当你收到ajax响应时,你可以做一个json_decode,并检查状态。
所以在你的控制器中你会有
{status: 'success', data: myArrayWithFoundData}
类似的东西,所以在ajax响应中你会做一个
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);
并检查var a = JSON.parse(data);
是否有错误