Javascript firefox中的Ajax POST错误
我有两个PHP文件,其中一个通过ajax发布到另一个。这篇文章在chrome上效果很好。但它在firefox中不起作用。firebug的调试以红色显示“POST error”。我正在下面粘贴我的代码Javascript firefox中的Ajax POST错误,javascript,php,jquery,ajax,firefox,Javascript,Php,Jquery,Ajax,Firefox,我有两个PHP文件,其中一个通过ajax发布到另一个。这篇文章在chrome上效果很好。但它在firefox中不起作用。firebug的调试以红色显示“POST error”。我正在下面粘贴我的代码 Ajax: var data_val={'user_name' : response.name, 'user_id' : response.id, 'user_first' : response.first_name, 'user_ema
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,})
});
要发布到其中的文件,foddha.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函数返回时显示的成功警报的问题,但事实并非如此。尝试将ajax从:
$.ajax({
type: "POST",
url: "buddha.php",
data: data_val,})
});
删除额外的结束标记和数据值后的逗号
$.ajax({
type: "POST",
url: "buddha.php",
data: data_val
});
查看我为您创建的这个类,该类上有一个事件绑定,用于在单击时触发ajax请求。根据您的问题,假设“response”是FB API调用返回的对象,我想说问题出在Facebook API上。有时,用户没有“家乡”和“当前城镇”等变量的值。在这种情况下,代码中的以下分配操作将失败
'user_location': response.location.name,
'user_hometown':response.hometown.name,
'user_bloodGroup':window.bloodGroup,
它不起作用。就像我说的,它在Chrome上运行得非常好。你能给我更多关于firefox上显示的错误的信息吗?当我使用以下函数时,它会打印:“错误”,“错误”,然后是“空字符串”错误:函数(xhr,textStatus,error){console.log(xhr.statusText);console.log(textStatus);console.log(error); }