Javascript 使用jQuery和表单插件引用JSON响应发布表单数据
我很难理解如何使用jQuery及其表单插件访问HTTP post操作返回的数据 例如,我希望将来自浏览器的数据发布到表单中,在服务器上处理数据,将服务器响应(JSON格式)返回到浏览器,并在警报中向用户显示有关该响应的信息,而无需重写表单 我认为以下jQuery代码可以做到这一点:Javascript 使用jQuery和表单插件引用JSON响应发布表单数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,我很难理解如何使用jQuery及其表单插件访问HTTP post操作返回的数据 例如,我希望将来自浏览器的数据发布到表单中,在服务器上处理数据,将服务器响应(JSON格式)返回到浏览器,并在警报中向用户显示有关该响应的信息,而无需重写表单 我认为以下jQuery代码可以做到这一点: $(document).ready(function() { $('#ajaxFormSubmit').bind('click', function(event) { $('#data_ent
$(document).ready(function() {
$('#ajaxFormSubmit').bind('click', function(event) {
$('#data_entry_form').ajaxSubmit({
url: "data_entry_ajax",
dataType: "json",
success: function(data) {
alert('Success');
alert(data.save_status);
}
});
});
});
服务器在JSON对象中返回以下内容:
{'save_status': 'OK', 'id_number': 2}
但是,浏览器没有显示表单和用户输入数据上的两个警报,而是清除表单并显示JSON回复
我认为提交给ajaxSubmit的选项中的“success”值会自动传递给从服务器收到的响应。我尝试了各种将参数传入函数体的排列方式(引用数据
而不传入,引用responseText
而不传入任何内容),但这些都不起作用
我看了“jQuery-In-Action”,试图了解如何访问对xhr对象和.ajax()函数的响应,但这也没有帮助。尝试使用
// ...
$('ajaxFormSubmit').bind('click',函数(事件){
美元邮政(
“数据输入\u ajax”,
$('#数据项_表单')。序列化(),
功能(数据){
警惕(“成功”);
警报(数据保存状态);
},
“json”
);
});
实际上,这仍在清除浏览器文档并显示JSON请求。也许问题出在我的HTML中。
<script>
// ...
$('#ajaxFormSubmit').bind('click', function(event) {
$.post(
'data_entry_ajax',
$('#data_entry_form').serialize(),
function(data) {
alert('Success');
alert(data.save_status);
},
'json'
);
});
</script>