Php ajax与firefox的兼容性问题
嗨,我已经创建了一个网站,有一个行动的形式直接向贝宝支付。在定向到paypal页面之前,我创建了一个ajax脚本,该脚本将读取一个外部php文件,该文件将在定向到paypal之前将表单中的其他数据保存到数据库中。我让它与IE和chrome一起工作,但出于某些原因,我不知道为什么它不能使用Firefox 20.0.1保存数据 我想要的是让它在Firefox中工作。因为此代码在IE和Chrome中运行。 这是我的内部ajax脚本:Php ajax与firefox的兼容性问题,php,ajax,firefox,browser,Php,Ajax,Firefox,Browser,嗨,我已经创建了一个网站,有一个行动的形式直接向贝宝支付。在定向到paypal页面之前,我创建了一个ajax脚本,该脚本将读取一个外部php文件,该文件将在定向到paypal之前将表单中的其他数据保存到数据库中。我让它与IE和chrome一起工作,但出于某些原因,我不知道为什么它不能使用Firefox 20.0.1保存数据 我想要的是让它在Firefox中工作。因为此代码在IE和Chrome中运行。 这是我的内部ajax脚本: <script> $(function () {
<script>
$(function () {
$('#senrollnow').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'insert.php',
data: $('#senrollnow').serialize(),
success: function () {
alert('form was submitted'+data);
}
});
});
});
</script>
<form action="https://www.paypal.com/cgi-bin/webscr" name="ligit" method="POST" id="senrollnow" target="_top" >
<div class="row">
<div class="large-12">
<div class="row">
<div class="large-6 columns">
<input type="text" placeholder="First Name" name="first_name" required />
</div>
<div class="large-6 columns">
<input type="text" placeholder="Last Name" name="last_name" required />
</div>
</div>
<div class="row">
<div class="large-12 columns">
<input type="email" placeholder="Email" name="email" required />
</div>
</div>
<div class="row">
<div class="large-12 columns">
<input type="hidden" name="on0" value="Courses Options">Courses Options
<select name="os0">
<option value="Basic (30 mins)">Basic (30 mins) : $69.00 AUD - monthly</option>
<option value="Basic (1 hour)">Basic (1 hour) : $129.00 AUD - monthly</option>
<option value="Standard (30 mins)">Standard (30 mins) : $69.00 AUD - monthly</option>
<option value="Standard (1 hour)">Standard (1 hour) : $129.00 AUD - monthly</option>
<option value="International (30 mins)">International (30 mins) : $69.00 AUD - monthly</option>
<option value="International (1 hour)">International (1 hour) : $129.00 AUD - monthly</option>
</select>
</div>
</div>
<br/>
<div class="row">
<div class="large-12 large-centered columns text-center">
<input type="hidden" name="currency_code" value="AUD">
<input class="pulse-shrink" type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
<!--<input id="button_enroll" type="submit" name="ligit" placeholder="Email" class="button" value="Enrol Now!" /> -->
</div>
</div>
<a class="close-reveal-modal">×</a>
</div>
</div>
</form>
据我所知,您希望在提交表单之前将一些数据加载到表单中,然后在默认情况下将表单数据发送到表单中 我的东西,你们必须做的行动发送表单到贝宝和你们的服务器分开。 一种方法是发送ajax表单并调用event.preventDefault()以防止默认提交表单 在成功回调时,您可以进行提交 最简单的基本方法是添加一个类来形成
$('#senrollnow').on('submit', function (e) {
var form = $(this);
if(!form.hasClass('pending')) {
e.preventDefault();
form.addClass('pending');
$.ajax({
type: 'post',
url: 'insert.php',
data: $('#senrollnow').serialize(),
success: function () {
form.submit();
// alert('form was submitted'+data);
}
});
}
});
据我所知,您希望在提交表单之前将一些数据加载到表单中,然后在默认情况下将表单数据发送到表单中 我的东西,你们必须做的行动发送表单到贝宝和你们的服务器分开。 一种方法是发送ajax表单并调用event.preventDefault()以防止默认提交表单 在成功回调时,您可以进行提交 最简单的基本方法是添加一个类来形成
$('#senrollnow').on('submit', function (e) {
var form = $(this);
if(!form.hasClass('pending')) {
e.preventDefault();
form.addClass('pending');
$.ajax({
type: 'post',
url: 'insert.php',
data: $('#senrollnow').serialize(),
success: function () {
form.submit();
// alert('form was submitted'+data);
}
});
}
});
据我所知,您希望在提交表单之前将一些数据加载到表单中,然后在默认情况下将表单数据发送到表单中 我的东西,你们必须做的行动发送表单到贝宝和你们的服务器分开。 一种方法是发送ajax表单并调用event.preventDefault()以防止默认提交表单 在成功回调时,您可以进行提交 最简单的基本方法是添加一个类来形成
$('#senrollnow').on('submit', function (e) {
var form = $(this);
if(!form.hasClass('pending')) {
e.preventDefault();
form.addClass('pending');
$.ajax({
type: 'post',
url: 'insert.php',
data: $('#senrollnow').serialize(),
success: function () {
form.submit();
// alert('form was submitted'+data);
}
});
}
});
据我所知,您希望在提交表单之前将一些数据加载到表单中,然后在默认情况下将表单数据发送到表单中 我的东西,你们必须做的行动发送表单到贝宝和你们的服务器分开。 一种方法是发送ajax表单并调用event.preventDefault()以防止默认提交表单 在成功回调时,您可以进行提交 最简单的基本方法是添加一个类来形成
$('#senrollnow').on('submit', function (e) {
var form = $(this);
if(!form.hasClass('pending')) {
e.preventDefault();
form.addClass('pending');
$.ajax({
type: 'post',
url: 'insert.php',
data: $('#senrollnow').serialize(),
success: function () {
form.submit();
// alert('form was submitted'+data);
}
});
}
});
您是否尝试过使用firebug来查看ajax调用是否被触发,以及是否返回了任何错误。实际上,我没有使用firebug,因为我是开发新手,并且经常使用chrome F12。不管怎样,我会试着用那个,看看会发生什么。你有没有试过用firebug来看看ajax调用是否被触发,是否有任何错误被返回。实际上我没有用firebug,因为我是新开发的,经常使用chrome F12。不管怎样,我会试着用那个,看看会发生什么。你有没有试过用firebug来看看ajax调用是否被触发,是否有任何错误被返回。实际上我没有用firebug,因为我是新开发的,经常使用chrome F12。不管怎样,我会试着用那个,看看会发生什么。你有没有试过用firebug来看看ajax调用是否被触发,是否有任何错误被返回。实际上我没有用firebug,因为我是新开发的,经常使用chrome F12。不管怎样,我会尝试使用它,看看会发生什么。这是一个很好的解决方案,可以将数据插入数据库。现在的问题是,当我尝试在chrome上测试它时,我不会停止向我的数据库插入数据,也不会继续操作。非常好,非常有用的人。我将研究你在这里所做的事情。所以,逻辑是当用户单击submit时,浏览器调用这个处理程序,并且第一次表单并没有类“挂起”。我们将表单标记为挂起,调用preventDefault()-停止本机浏览器行为,调用ajax(保存数据)并在触发提交后(模仿它)。由于表单已经有类“挂起”处理程序,无需执行任何操作,而浏览器没有本地操作(默认情况下指定了发送表单的操作和方法),因此这是一个很好的解决方案,可以将数据插入数据库。现在的问题是,当我尝试在chrome上测试它时,我不会停止向我的数据库插入数据,也不会继续操作。非常好,非常有用的人。我将研究你在这里所做的事情。所以,逻辑是当用户单击submit时,浏览器调用这个处理程序,并且第一次表单并没有类“挂起”。我们将表单标记为挂起,调用preventDefault()-停止本机浏览器行为,调用ajax(保存数据)并在触发提交后(模仿它)。由于表单已经有类“挂起”处理程序,无需执行任何操作,而浏览器没有本地操作(默认情况下指定了发送表单的操作和方法),因此这是一个很好的解决方案,可以将数据插入数据库。现在的问题是,当我尝试在chrome上测试它时,我不会停止向我的数据库插入数据,也不会继续操作。非常好,非常有用的人。我将研究你在这里所做的事情。所以,逻辑是当用户单击submit时,浏览器调用这个处理程序,并且第一次表单并没有类“挂起”。我们将表单标记为挂起,调用preventDefault()-停止本机浏览器行为,调用ajax(保存数据)并在触发提交后(模仿它)。由于表单已经有类“挂起”处理程序,无需执行任何操作,而浏览器没有本地操作(默认情况下指定了发送表单的操作和方法),因此这是一个很好的解决方案,可以将数据插入数据库。现在的问题是,当我尝试在chrome上测试它时,我不会停止向我的数据库插入数据,也不会继续操作。非常好,非常有用的人。我将研究你在这里所做的事情。所以,逻辑是当用户单击submit时,浏览器调用这个处理程序,并且第一次表单并没有类“挂起”。我们将表单标记为挂起,调用preventDefault()-停止本机浏览器行为,调用ajax(保存数据)并在触发提交后(模仿它)。由于表单已经有类“挂起”处理程序,所以无需执行任何操作,而浏览器执行本机思考(默认情况下已指定发送表单的操作和方法)