我正在尝试发送一个post-request,并且在回调的响应中有所不同。
function get_response()
{
var data =
{
value1: "value1",
value2: "value2"
};
$.post("/index.php?id=1",data,function(text)
{
$("#container1").empty();
$("#container1").append(text);
$("#container2").empty();
$("#container2").append(text);
});
return;
}
我正在向我目前所在的页面发送两个值。 每个值都被传递给另一个函数,每个函数都会收到一个结果。
if (isset($_POST['value1']))
{
echo $this->function_1();
exit;
}
if (isset($_POST['value2']))
{
echo $this->function_2();
exit;
}
我已经尝试了很多,并且用Google搜索了更多...但我找不到适合我情况的任何内容。 我基本上想将function_1的返回值粘贴到#container1中,将function_2的返回值粘贴到#container2中。
我认为我的大脑比我的问题结构更加混乱...但我希望它仍然有些可以理解(:
我目前运行了两个不同的后期功能,但由于两者都设置为一个间隔,让我同时发送多个帖子很烦我,在我看来效率低(间隔时间很短,因此它可能会叠加)向上)。
答案 0 :(得分:0)
为什么不连接响应然后拆分它们?
$response="";
if (isset($_POST['value1']))
{
$response.=$this->function_1();
}
if (isset($_POST['value2']))
{
$response.='|'.$this->function_2();
}
echo $response;
在Jquery:
function get_response()
{
var data =
{
value1: "value1",
value2: "value2"
};
$.post("/index.php?id=1",data,function(text)
{
var response=text.split("|");
if (response.length==2){
$("#container1").empty();
$("#container1").append(response[0]);
$("#container2").empty();
$("#container2").append(response[1]);
}
});
data = null;
text = null;
return;
}
选项2将是JSON,因为@subirkumarsao说:
$response=Array();
if (isset($_POST['value1']))
{
$response['value1']=$this->function_1();
}
if (isset($_POST['value2']))
{
$response['value2']=$this->function_2();
}
echo json_encode($response);
和JQuery:
function get_response()
{
var data =
{
value1: "value1",
value2: "value2"
};
$.post("/index.php?id=1",data,function(text)
{
var response=jQuery.parseJSON(text);
if (response.length==2){
$("#container1").empty();
$("#container1").append(response.value1);
$("#container2").empty();
$("#container2").append(response.value2);
}
});
data = null;
text = null;
return;
}
你应该尽量少尝试帖子,因为它的性能很昂贵。
答案 1 :(得分:0)
创建JSON响应。 像
这样的东西{
"func1":"output of func1",
"func2":"output of func2"
}
在ajax响应中你可以做到。
text.func1
//将此设置为container1
text.func2
//将此设置为container2