【发布时间】:2016-11-11 09:42:18
【问题描述】:
我用jQuery 实现了ajax 请求。这是代码:
//initialize value, nameValue, emailValue
$.ajax({
url: "getPOST.php",
type: 'POST',
data: {
'id': value,
'name': nameValue,
'email': emailValue
},
success: function(response) {
console.log(response);
}
});
该代码在 chrome 中运行良好,但在 Safari 和 Firefox 中失败。我已经看到了这个问题的一些答案,但他们已经 6 岁或以上。有什么办法可以解决这个问题?
编辑:失败是指在 php 方面,当在 Firefox 或 Safari 上运行时,没有任何内容存储在数据库中,但它在 Chrome 中按预期工作。控制台中没有错误消息。 Safari中的请求显示为红色,并没有发送任何数据。
我检查了 Firefox 中的帖子数据,它们应该是这样的。那里没有错误。尽管请求被涂成红色。这就是它的外观。 jQuery端出错?
在将用户引导至 PayPal 支付页面之前,我正在使用此代码将数据发送到我的服务器。
jQuery 代码。希望我没有删除很多大括号。
// JavaScript Document
jQuery(document).ready(function($){
//you can now use $ as your jQuery object.
//real stuff here
$(".submit-link").click(function(e){
var value=$.trim($(".url-submit").val());
if(value.length>0){
value = encodeURIComponent(value);
var nameValue=$.trim($(".name-submit").val());
var emailValue=$.trim($(".email-submit").val());
if(nameValue.length>0){nameValue = encodeURIComponent(nameValue);}
if(emailValue.length>0){emailValue = encodeURIComponent(emailValue);}
$.ajax({
url: "getPOST.php",
type: 'POST',
data: {"id":value,"name":nameValue, "email":emailValue},
success: function(response) {
console.log(response);
}
//go to link in href now
});
}else{
var $urlSubmit = $('.url-submit');
$urlSubmit.addClass('invalid');
setTimeout(function(){
$urlSubmit.removeClass('invalid');
},500);
e.preventDefault();
}
});
//some other stuff
});
【问题讨论】:
-
当你说它失败时,会发生什么?您展示的 sn-p 没有任何问题会导致浏览器之间的不一致
-
添加了一个编辑..
-
在失败的浏览器中打开开发者工具,查看控制台是否有错误信息。如果您看到任何内容,请分享它们,因为它们将帮助诊断问题。编辑:刚刚看到你说它在 PHP 方面失败了。你能回显/注销帖子变量的样子吗?您还可以检查网络选项卡以查看发送到服务器的值。
-
@MadhuMagar 你应该为此投反对票,无,单,双 ['id'] ` 工作得很好
-
首先设置您要发送的数据类型 application/json ,然后在发送之前对您的数据使用 JSON.stringify
标签: javascript jquery ajax firefox safari