我有两个页面,一个是php页面,另一个是html页面。我使用$ .post方法调用php页面(执行一些函数),将数据返回到html页面并将数据插入文本框。但是,我不熟悉JQuery,我不知道如何在php页面产生错误的情况下创建if / else语句。
我的php页面检查异常,如果有一个被抓住,我希望html页面在文本字段中插入错误消息。
try{
$ip=getIP();
$country = geoCheckIP($ip, $date);
echo json_encode(array('ip' => $ip, 'country' => $country, 'campaignID' => $campaignID));
}catch (Exception $e){
echo json_encode(array( 'errormsg' => $date . ' - Error: ' . $e->getMessage()));
}
然后在我的html页面上,我使用post方法调用我的php页面并在文本框中插入值。
<script type="text/javascript">
$.post("ip.php", function( data ){
$("#ip").val(data.ip);
$("#country").val(data.country);
$('#campaignID').val(data.campaignID);
$('#error').val(data.errormsg);
}, "json");
</script>
如何执行if else语句,以便在ip,country或campaign id出错时我只填写错误文本字段?
答案 0 :(得分:1)
您可以检查errormsg
属性是否填充如下:
if(data.errormsg) {
$('#error').val(data.errormsg);
} else {
$("#ip").val(data.ip);
$("#country").val(data.country);
$('#campaignID').val(data.campaignID);
}
但要做得更好(归功于@itachi)
$.post("ip.php", function( data ){
//handle success
$("#ip").val(data.ip);
$("#country").val(data.country);
$('#campaignID').val(data.campaignID);
}, function( data ){
//handle fail
$('#error').val(data.errormsg);
});
使用上述代码时,您还应该从PHP返回适当的状态代码。