如何使用post(ajax)执行IF / ELSE?

时间:2015-03-16 15:52:40

标签: javascript php jquery ajax post

我有两个页面,一个是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出错时我只填写错误文本字段?

1 个答案:

答案 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返回适当的状态代码。