Javascript AJAX传输页面PHP
这就是我的结构: 基于$\u POST['c']的router.php生成控制器文件名,包含该文件并调用其$\u POST['A']方法 我有一个网格视图。当用户单击行时打开详细信息页面的唯一方法是使用AJAX,因为只有javascript可以处理单击。我不想有一个按钮列-我想要一个行点击 因此,我让我的javascript执行以下操作:Javascript AJAX传输页面PHP,javascript,php,ajax,web,Javascript,Php,Ajax,Web,这就是我的结构: 基于$\u POST['c']的router.php生成控制器文件名,包含该文件并调用其$\u POST['A']方法 我有一个网格视图。当用户单击行时打开详细信息页面的唯一方法是使用AJAX,因为只有javascript可以处理单击。我不想有一个按钮列-我想要一个行点击 因此,我让我的javascript执行以下操作: $( document ).ready(function() { // Handler for .ready() called. $("tr" ).cli
$( document ).ready(function() {
// Handler for .ready() called.
$("tr" ).click(function() {
var id = $('td[name=id]').attr('id');
var c = $('input[name=c]').attr('value');
var a = $('input[name=a]').attr('value');
$.post("Router.php", { id: id, c: c, a: a }, function(data){
window.location.href = "Router.php";
});
});
});
我有我的路由器。Php:
if (array_key_exists('c', $_POST)) {
$controller = $_POST['c'];
};
if (array_key_exists('a', $_POST)) {
$action = $_POST['a'];
};
echo $controller;
echo $action;
我永远都无法获得post值。我认为我对AJAX的看法是错误的——AJAX应该做的就是得到一个响应并将其呈现在浏览器的某个地方。我使用它的目的是传递POST数据并调用PHP文件中的方法。这是因为我不想在url中传递id
有没有办法解决这个问题?代码的以下部分向服务器发出2个请求。一个帖子,然后一个GET
$.post("Router.php", { id: id, c: c, a: a }, function(data){
window.location.href = "Router.php";
});
最有可能的情况是,您在第一个请求中得到了您想要的,但是您在屏幕上看到的结果是第二个请求的结果,这只是一个没有参数的GET
使用
echo$controller编写post的结果代码>和echo$action
和它们在(数据)
中返回,但您不需要对其执行任何操作。您只需将客户端重定向到Router.php
在$\u POST
数组上执行打印
;这将告诉您发布了什么,如果有的话。我如何将POST参数传递到Router.php,并让它使用它们重定向到Controller中的方法?因为我想我知道发生了什么-“数据”是我发送回我的整个页面。我遇到的问题——通常是AJAX人员在容器中渲染内容。我想使用AJAX来模拟重定向到另一个页面。我该怎么做?