我花了两个小时来创建一个非常小的 jquery ajax 片段,但这不起作用,这让我抓狂。出了什么问题,我找不到?我实际上不知道如何调试这个:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$('#subForm').submit(function (e) {
$.ajax({
url: 'subscribe.php',
type: 'GET',
data: "id = " + 2, //EDIT: I have changed this to "id=2", but also not working
success: function(result){
alert("token recieved: " + result);
},
error: function() {
alert('Error occured!')
},
});
});
});
</script>
如果直接调用 subscribe.php 可以工作:
<?php
include "conf.php";
$email = 'test';
$query = 'INSERT INTO subscribers(email) VALUES("'.$email.'")';
mysql_query($query);
echo 'Success';
exit;
?>
这给了我文本“发生错误!” 然后页面被重定向到“subscribe.php”。我第一次有 getjson 调用,但它不起作用,我决定将其更改为 .ajax get。
1)为什么会发生错误?
2)然后-即使是错误的,为什么用户被重定向到subscribe.php,这是ajax,为什么用户没有留在同一页面上?
编辑 如果我添加返回 false,则用户不会被重定向到 subscribe.php。这解决了。
这可以通过更改数据来解决:“id=2”。