jQuery get() 和 post() 方法用于通过 HTTP GET 或 POST 请求从服务器请求数据。
HTTP 请求:GET vs. POST
两种在客户端和服务器端进行请求-响应的常用方法是:GET 和 POST。
GET - 从指定的资源请求数据
POST - 向指定的资源提交要处理的数据
GET 基本上用于从服务器获得(取回)数据。注释:GET 方法可能返回缓存数据。
POST 也可用于从服务器获取数据。不过,POST 方法不会缓存数据,并且常用于连同请求一起发送数据。
1.$.get(url,[data],[callback],dataType);
var data = $("#forQuery:input").serializeArray();
$.get("test001.php",data,function(json){
if(json.tests.length>0){
$("#header").empty();
$.each(json.tests,function(){
var info = '<li>name:' + this['name']+ 'locat:'+this['locat']+
'位置:'+this['address']+'……更新时间:' + this['gxsj'] +'</li>';
$("#header").append(info);
});
}
},"json");
其PHP端这样写:
$fid = htmlspecialchars($_GET["forQuery"]);
$client = Elasticsearch\ClientBuilder::create()
->setHosts(["localhost:9200"])
->setRetries(0)
->build();
$runners = array();
for ($i=$fid; $i <6 ; $i++) {
$params = [
'index' => 'poi',
'type' => 'fengshui',
'id' =>$i
];
$response = $client->get($params);
array_push($runners, $response['_source']);
}
echo json_encode(array('tests'=>$runners));
exit;
2.$.post(url,data,success(data, textStatus, jqXHR),dataType)
var data = $("#forQuery:input").serializeArray();
$.post("test001.php",data,function(json){
if(json.tests.length>0){
$("#header").empty();
$.each(json.tests,function(){
var info = '<li>name:' + this['name']+ 'locat:'+this['locat']+
'位置:'+this['address']+'……更新时间:' + this['gxsj'] +'</li>';
$("#header").append(info);
});
}
},"json");
其PHP端这样写:
$fid = htmlspecialchars($_POST["forQuery"]);3.$.getJSON( url,[data],[callback]);
$.getJSON("test001.php",data,function(json){
if(json.tests.length>0){
$("#header").empty();
$.each(json.tests,function(){
var info = '<li>name:' + this['name']+ 'locat:'+this['locat']+
'位置:'+this['address']+'……更新时间:' + this['gxsj'] +'</li>';
$("#header").append(info);
});
}
});
其PHP端这样写:
$fid = htmlspecialchars($_GET["forQuery"]);