我正在尝试通过ajax调用发送json字符串和变量,并在php文件中编辑查询, 我的代码看起来像
queryData = {
"data": {
"data_string": {
"data": "oil",
"default_field": "Content"
}
}
};
from = 0;
$.ajax({
url: "/elasticsearch-head/lib/es/queryManipulate.php",
type: 'POST',
data: 'dataString',
datatype: 'json',
data: {
field: queryData,
start: this.from
},
success: function(data) {
Dumper.alert(data);
}
});
PHP文件看起来像是,我把两个值放到变量中,我想改变php中的json并返回{“from”:$ from,“data”形式的值:{“data_string”:{ “数据”: “油”, “default_field”: “内容”}}}
<?php
$testData=$_POST["field"];
$from=$_POST["start"];
?>
它应该返回查询4次,每次$ from的值应该增加10 有可能用ajax和php吗?
答案 0 :(得分:1)
那将是我的解决方案:
function retreiveData(from)
{
queryData={"data":{"data_string":{"data":"oil","default_field":"Content"}}};
$.ajax({
url:"/elasticsearch-head/lib/es/queryManipulate.php",
type: 'POST',
data: 'dataString',
datatype: 'json',
data: {field : queryData, start : from},
success:function(data)
{
Dumper.alert(data);
if(from < (4-1)*10)
{
retreiveData(from+10);
}
}
});
}
retreiveData(0);
这是一个自称四次的递归函数。
编辑:或者,如果我误读了您的问题,您可以在服务器端使用for循环:
<?php
$testData=$_POST["field"];
$from=$_POST["start"];
for($i=0; ctype_digit($from) && is_numeric($from) && $i < 4; $i++)
{
$from+=10;
//process data on the server side
//echo $testData; // or whatever
}
?>
您可以将数据处理四次。