我是AJAX的新手。我使用AJAX将表单数据提交到终点。端点返回带有一些响应数据的json字符串。我尝试了很多东西但是没有能够阅读JSON。
我可以解析JSON。此时,我想弄清楚如何读取终点返回的JSON。
我的代码,以便帖子到最后一品脱。
$('.ent-lead-form form').on('submit', function(e){
e.preventDefault();
var form = this;
if($(this).find('.err').length == 0){
$(this).parent().prepend('<div class="form-mask"></div>');
$.ajax({
url: $(this).attr('action'),
type: 'POST',
data: $(this).serialize(),
success: function(data){
var data = JSON.parse(json);
alert(data);
// redirect to success or show thank you
if( $(form).find('input[name=successurl]').length == 1 ){
window.location = $(form).find('input[name=successurl]').val();
} else {
$(form).parent().prepend('<div class="confirm-mask">Thank you for your submission.</div>');
}
// cleanup
$('.form-mask').remove();
},
error: function(data){
// show error
$(form).parent().prepend('<div class="confirm-mask">There was an error processing your request. Please reload the page and try again.</div>');
$('.form-mask').remove();
}
});
}
});
答案 0 :(得分:3)
你这里有错误..
success: function(data){
var data = JSON.parse(json);
alert(data);
将此更改为
success: function(jsondata){
var data = JSON.parse(jsondata);
console.log(data);
您的&#34;数据&#34;将是一个对象。您可以通过点符号获取您的值
data.value
要为此添加评论:
最好开始使用.done()
弃用通知:jqXHR.success(),jqXHR.error()和 从jQuery 1.8开始,不推荐使用jqXHR.complete()回调函数。准备 你的代码最终删除,使用jqXHR.done(),jqXHR.fail(), 和jqXHR.always()相反。