0

我有这种方法,我想使用 ajax 运行一个 php 文件,然后重新加载页面。

function winA() 
{
var x = "<?php echo $id;?>"
$.ajax({ url: 'w.php5' ,
         data: { id: x },
         success: function(data) {
                   window.location.reload()
                }
 }); 
}

这就是我所拥有的,我已经无数次地查看它是否存在缺陷,确保 php 变量正确读取并确保函数真正被调用。调用 w.php5?id=1 时 php 文件正常工作

为什么这个 ajax 调用不起作用?

提前感谢您的帮助,亚伦。

4

5 回答 5

1

有 2 种选择。

如果您想发布一些其他数据,请使用此

.ajax({
  type: 'POST',
  url:'w.php5',
  data: {id: '<?php echo $id; ?>'},
  success: function(resp){
    console.log(resp);
  },
  dataType:'json'
});

如果你这样做,你的 ID 将存储在 $_POST 数组中 => *$_POST['id']*

如果您只想通过发布的 ID 获取一些数据,请使用此

.ajax({
  type: 'GET',
  url:'w.php5?id=<?php echo $id; ?>',
  success: function(resp){
    console.log(resp);
  },
  dataType:'json'
});

如果你这样做,你的 ID 将存储在 $_GET 数组中 => *$_GET['id']*

于 2012-04-19T05:30:40.847 回答
1
function winA() 
{
var x = "<?php echo $id;?>"
$.ajax({ url: 'w.php5' ,
         data: { id: x },
         success: function(data) {
                   window.location.reload()
                }
         error:function (xhr, ajaxOptions, thrownError)
         { 
             alert(xhr.status); 
             alert(thrownError); 
         }
 }); 
}

这样它会在出现 ajax 错误时显示警报

此外,如果在 chrome 中,请按组合 Ctrl+Shift+I 以获得开发人员工具并检查网络选项卡以查看是否调用了 w.php5,以及响应是什么。不知道其他浏览器的工具,但应该有类似的东西

于 2012-04-19T05:36:16.413 回答
0

您在这里缺少分号:

var x = "<?php echo $id;?>"

应该:

var x = "<?php echo $id;?>";
于 2012-04-19T05:10:39.597 回答
0

//设置方法

发布或获取

type:'GET'; or type:"POST"
于 2012-04-19T05:14:24.057 回答
0

该网址可能缺少前导正斜杠,假设您正在尝试访问像 www.myurl.com/w.php?id=5 这样的网址

尝试

url: '/w.php?id=5',

如果这不起作用,您需要使用 Chrome 或 Firefox 中的开发工具检查请求。

您还可以在 w.php 中对 $_GET 或 $_POST 进行 var_dump,因为响应将公开输出。

于 2012-04-19T05:36:29.087 回答