【问题标题】:Ajax POST error in firefoxFirefox 中的 Ajax POST 错误
【发布时间】:2014-10-25 11:08:06
【问题描述】:

我有两个 PHP 文件,其中一个通过 ajax 发布到另一个。这篇文章在 chrome 中效果很好。但它在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>

我必须重复一遍,这在 chrome 中完美而令人愉快。最初我以为是ajax函数返回时显示成功警报的问题,但事实并非如此。

【问题讨论】:

  • 你能告诉我更多关于 Firefox 上显示的错误的信息吗?
  • 当我使用以下函数时,它会打印:“error”,“error”,然后是“an empty string” error: function(xhr, textStatus, error){ console.log(xhr.statusText );控制台.log(文本状态);控制台日志(错误); }

标签: javascript php jquery ajax firefox


【解决方案1】:

假设您的问题是“响应”是 FB API 调用返回的对象,我想说问题出在 Facebook API 上。有时,用户对“Hometown”和“CurrentTown”等变量没有价值。在这种情况下,您的代码中的以下分配操作将失败。

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

【讨论】:

    【解决方案2】:

    尝试将 ajax 更改为:

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

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

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

    查看我为您创建的jsFiddle,该jsFiddle 使用类上的事件绑定来在单击时触发 ajax 请求。

    【讨论】:

    • 它不起作用。就像我说的,它在 Chrome 中运行良好。
    猜你喜欢
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2013-02-23
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    相关资源
    最近更新 更多