Php AJAX请求无法工作
我创建了一个脚本,该脚本使用2个邮政编码并返回距离,如果距离小于4英里,则返回一条成功消息,如果距离超过4英里,则返回另一条消息。如果表单字段为空,它还应该抛出一个错误 我希望能够在不刷新页面的情况下返回数据,但到目前为止,我似乎无法让ajax请求正常工作,它根本没有任何作用 jQuery不是我的堡垒,我是通过在线搜索拼凑起来的Php AJAX请求无法工作,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我创建了一个脚本,该脚本使用2个邮政编码并返回距离,如果距离小于4英里,则返回一条成功消息,如果距离超过4英里,则返回另一条消息。如果表单字段为空,它还应该抛出一个错误 我希望能够在不刷新页面的情况下返回数据,但到目前为止,我似乎无法让ajax请求正常工作,它根本没有任何作用 jQuery不是我的堡垒,我是通过在线搜索拼凑起来的 $(document).ready(function () { $('#postcode-form').submit(function (event) {
$(document).ready(function () {
$('#postcode-form').submit(function (event) {
event.preventDefault();
$('.help-block').remove(); // remove the error text
var formData = {
'destination': $('input#destination').val()
};
$.ajax({
type: 'POST',
url: 'includes/postcode-finder.php',
data: formData,
dataType: 'json',
encode: true
}).done(function (data) {
if (!data.success) {
if (data.errors.destination) {
$('#destination-group').append('<div class="help-block">' + data.errors.destination + '</div>');
}
} else {
$('#postcode-form').append('<div class="alert alert-success">' + data.message + '</div>');
}
})
});
});
您使用的是jQuery 1.4.4,它不会从
$.ajax
返回,因此.done()
函数不可用
您有两个选择:
更新jQuery(如果您这样做了,请确保您测试了依赖它的任何其他内容!)
或者改用success参数:
$.ajax({
type: 'POST',
url: 'includes/postcode-finder.php',
data: formData,
dataType: 'json',
encode: true,
success: function (data) {
// do stuff
}
});
从:
从jQuery 1.5开始,$.ajax()返回的jqXHR对象实现
Promise接口,为它们提供所有属性、方法和
承诺的行为(有关更多信息,请参阅延迟对象)
您是否查看过浏览器控制台中是否有任何错误?他们应该在问题编辑器中为该问题设置一个复选框。”在您将此问题发布到SO之前,请确保您已@JayBlanchard我希望每次我不得不发表那篇血腥的评论时我都能得到一分钱:)他们应该把那些和其他几个放在评论框@rorymcrossan的自动完成上:)$data=[1,2,3,4];是新的数组缩写:)PHP方面的工作确实正常,它按预期返回json
$.ajax({
type: 'POST',
url: 'includes/postcode-finder.php',
data: formData,
dataType: 'json',
encode: true,
success: function (data) {
// do stuff
}
});