我正在尝试向我的 PHP控制器(控制器和功能名称)发送额外信息,我正在使用url来执行此操作。
$.ajax({
url: "./app/Request.php?"+serializedData+"@Controller_name/function_name",
type: "post"
});
但我意识到这不是最好的方法,所以我开始通过数据发送它
$.ajax({
url: "./app/Request.php",
type: "post",
data: serializedData+"@Controller_alta/newTicket"
});
在我的PHP请求中,我曾经获取我的查询字符串,并将post参数url与Controller和函数名称分开
$url = $_SERVER['QUERY_STRING'];
但是现在我从URL QueryString
中得不到任何东西我怎样才能完成这项工作?
答案 0 :(得分:0)
Ajax请求的data参数与查询字符串不同。
我假设您正在尝试实施您自己的路由形式(假设您没有使用任何类型的MVC框架。),这很好我不会&# 39;认为这与手头的问题非常相关。
尝试从php代码中获取请求中的数据,如下所示:
$ajaxData = $_POST['data'] or $_REQUEST['data'];
var_dump($ajaxData);
由于Ajax被指定为POST请求。第一个应该可以正常工作。
如果这不起作用,您是否可以编辑问题以准确显示serializedData
变量是什么?如果你通过ajax发送的数据是一个数组,我建议你做这样的事情。
$.ajax({
url: "./app/Request.php",
type: "post",
data: {
controller: controllerName,
action: controllerAction,
data1: data1,
data2: data2
}
});
我相信jQuery将发布数据序列化为可接受的字符串以便为您发布,因此您不必自行序列化。
您也应该阅读ajax。 jQuery有很好的文档记录。