Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX传输页面PHP_Javascript_Php_Ajax_Web - Fatal编程技术网

Javascript AJAX传输页面PHP

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

这就是我的结构:

基于$\u POST['c']的router.php生成控制器文件名,包含该文件并调用其$\u POST['A']方法

我有一个网格视图。当用户单击行时打开详细信息页面的唯一方法是使用AJAX,因为只有javascript可以处理单击。我不想有一个按钮列-我想要一个行点击

因此,我让我的javascript执行以下操作:

$( 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来模拟重定向到另一个页面。我该怎么做?