firefox中出现Ajax POST错误


Ajax POST error in firefox

我有两个PHP文件,其中一个通过ajax发布到另一个。这篇帖子用铬处理效果很好。但它在firefox中不起作用。使用firebug进行的调试以红色显示"POST错误"。我正在下面粘贴我的代码。

Ajax:
var data_val={'user_name' : response.name,
            'user_id' : response.id,
         'user_first' : response.first_name,
         'user_email' : response.email,
       'user_birthday': response.birthday,
       'user_location': response.location.name,
       'user_hometown':response.hometown.name,
     'user_bloodGroup':window.bloodGroup,
      'user_bloodRare':window.user_bloodRare,
       'user_phone_no':window.user_phone,   
         };
                $.ajax({
                    type: "POST",   
                    url: "buddha.php", 
                    data: data_val,})
            });

它被张贴到的文件,buddha.php。

$name1 = $_POST['user_name'];
$email1 = $_POST['user_email'];
$birthday1=$_POST['user_birthday'];
$location1=$_POST['user_location'];
$hometown1=$_POST['user_hometown'];
$fbbloodgroup=$_POST['user_bloodGroup'];    
$fbuserid=$_POST['user_id'];
$user_phone=$_POST['user_phone_no'];
$user_bloodRare=$_POST['user_bloodRare'];
$user_email=$_POST['user_email'];

上面的ajax在一个javascript函数中

function fetchUserDetail()

按如下按钮调用它。

<a class="button_for_me" onclick="checkFacebookLogin()" >Register Me </a>

我必须重复一遍,这在铬合金中完美而愉快地工作。起初,我认为这是ajax函数返回时显示的成功警报的问题,但事实并非如此。

从您的问题中假设"响应"是FB API调用返回的对象,我想说问题出在Facebook API上。有时,用户没有像"Hometown"answers"CurrentTown"这样的变量的值。在这种情况下,代码中的以下赋值操作将失败。

   'user_location': response.location.name,
   'user_hometown':response.hometown.name,
   'user_bloodGroup':window.bloodGroup,

尝试从以下位置更改ajax:

$.ajax({
                type: "POST",   
                url: "buddha.php", 
                data: data_val,})
        });

删除额外的结束标签和data_val之后的comma,如

$.ajax({
   type: "POST",   
   url: "buddha.php", 
   data: data_val
});

看看我为您创建的这个jsFiddle,它在类上有一个事件绑定,可以在单击时触发ajax请求。