读取 AJAX 调用返回的 JSON
Read JSON returned by AJAX call
我是 AJAX 的新手。我正在使用 AJAX 将表单数据提交到终点。端点返回带有一些响应数据的 json 字符串。我尝试了很多东西,但无法阅读 JSON。
我可以解析 JSON。此时,我想弄清楚如何读取端点返回的JSON。
我的代码让帖子到最后pint。
$('.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();
}
});
}
});
你这里有错误..
success: function(data){
var data = JSON.parse(json);
alert(data);
将此更改为
success: function(jsondata){
var data = JSON.parse(jsondata);
console.log(data);
您的 "data" 将是一个对象。您可以使用圆点表示法
获得您的价值观
data.value
要对此添加评论:
最好开始使用.done()
Deprecation Notice: The jqXHR.success(), jqXHR.error(), and
jqXHR.complete() callbacks are deprecated as of jQuery 1.8. To prepare
your code for their eventual removal, use jqXHR.done(), jqXHR.fail(),
and jqXHR.always() instead.
我是 AJAX 的新手。我正在使用 AJAX 将表单数据提交到终点。端点返回带有一些响应数据的 json 字符串。我尝试了很多东西,但无法阅读 JSON。
我可以解析 JSON。此时,我想弄清楚如何读取端点返回的JSON。
我的代码让帖子到最后pint。
$('.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();
}
});
}
});
你这里有错误..
success: function(data){
var data = JSON.parse(json);
alert(data);
将此更改为
success: function(jsondata){
var data = JSON.parse(jsondata);
console.log(data);
您的 "data" 将是一个对象。您可以使用圆点表示法
获得您的价值观data.value
要对此添加评论:
最好开始使用.done()
Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks are deprecated as of jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.