我们选择复选框并单击按钮“ 显示状态”,我正在调用外部Web服务api网址并更新“ 状态”列[下图中的第4个]数据库.....
要求:
如果我们收到浏览器的回复,我想显示一次消息“ 完成”:
状态页面
<button type= "button" id="show_status" >Show Status</button>
脚本
$('#show_status').click(function(){
var selected = [];
$('.assigneeid-order:checked').each(function() {
selected.push($(this).val());
$('.assigneeid-order').prop('checked', false);
});
var jsonString = JSON.stringify(selected);
$.ajax({
type: "POST",
url: "api.php",
data: {data : jsonString},
success: function(response){
response = $.parseJSON(response);
$.each(response, function(index, val) {
$("#"+index+"").html(val);
$("#"+index+"").html(val.status);
});
}
});
});
api.php
<?php
$data = json_decode(stripslashes($_POST['data']));
$response = array();
foreach($data as $id){
$post_data['username']='a';
$url = 'https://plapi.ecomexpress.in/track_me/api/mawbd/';
$ch = curl_init();
curl_close($ch);
$orderResults=$xml=simplexml_load_string($output);
//print_r($orderResults); die;
foreach($orderResults->object as $child)
{
$status=(string)$child->field[10];
break;
}
$statusfinal = str_replace('<field type="CharField" name="status">','',$status);
if($statusfinal!='')
{
$sqlecom = "UPDATE do_order set in_transit='".$status."' where tracking_id=".$orderid;
//echo $sqlecom;
$db_handleecom = new DBController();
$resultecom = $db_handleecom->executeUpdate($sqlecom);
}
$response[$orderid] = [ 'status' => $status ];
}
echo json_encode($response);
?>
答案 0 :(得分:1)
你好
您可以在HTML中不显示任何添加div,并在浏览器收到答案后将其放在显示块中。
在ajax代码的成功函数中,您将代码放入其中。
例: $('#completed-message')。text('Completed');
$('#completed-message').css('display', 'block');
答案 1 :(得分:1)
在ajax调用中,请求成功时将使用成员success
。您可以使用此方法来通知用户服务器已成功响应。
success: function(response){
//Your code here to inform the user
response = $.parseJSON(response);
$.each(response, function(index, val) {
$("#"+index+"").html(val);
$("#"+index+"").html(val.status);
});
}
您可以以相同的方式使用成员error
来告诉用户服务器指示请求失败。
error: function(response)
{
//not good, tell it to the user
}