Ajax调用不起作用

时间:2012-04-19 05:07:48

标签: php ajax

我有这个方法,我想使用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调用不起作用?

先谢谢你的帮助,Aaron。

5 个答案:

答案 0 :(得分:1)

有两种选择。

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

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

如果你这样做,你的ID将存储在$ _POST array =&gt; * $ _ POST [ 'ID'] *

如果您想按照发布的ID获取一些数据,请使用此

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

如果你这样做,你的ID将存储在$ _GET array =&gt; * $ _ GET [ 'ID'] *

答案 1 :(得分: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,以及响应是什么。不知道其他浏览器的工具,但应该有类似的东西

答案 2 :(得分:0)

你在这里错过了一个分号:

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

应该是:

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

答案 3 :(得分:0)

//设置方法

POST或GET

type:'GET'; or type:"POST"

答案 4 :(得分:0)

假设您正在尝试访问www.myurl.com/w.php?id=5

等网址,那该网址可能会丢失一个领先的正斜杠

尝试

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

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

你也可以在w.php中var_dump $ _GET或$ _POST,因为响应会公开输出。

相关问题