Javascript Ajax解析json字符串返回未定义,

Javascript Ajax解析json字符串返回未定义,,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在发送post数据以获取返回的json字符串: 我的JSON字符串: {"error":false,"success":"Added Website","website_id":"12"} 我的Ajax请求: $('.publsher\u add\u website')。在(“提交”,函数(){ show_loader(); $.ajax({ url:$(this.attr('action'), 类型:$(this.attr('method'), 数据:$(this).serialize(

我正在发送post数据以获取返回的json字符串:

我的JSON字符串:

{"error":false,"success":"Added Website","website_id":"12"}
我的Ajax请求:

$('.publsher\u add\u website')。在(“提交”,函数(){
show_loader();
$.ajax({
url:$(this.attr('action'),
类型:$(this.attr('method'),
数据:$(this).serialize(),
成功:功能(数据){
if(data.success==false){
ajax_错误(data.error);
隐藏加载程序();
}否则{
调试(数据);
console.log(data.error);
console.log(data.success);
console.log(数据、网站id);
location.href=site_url+“publisher/websites?added=“+data.website_id+”#模态验证”;
隐藏加载程序();
}
},
错误:函数(){
隐藏加载程序();
}
});
返回false;
});
现在,当我使用返回的
数据时,它们都是未定义的。我使用了:

console.debug(data);
返回上面的json字符串,但如果我尝试单独访问它们:

data.error;
data.success;
data.website_id;

它们都返回为未定义的
,这是为什么?如何修复它?

尝试将json字符串解析为json对象以获取值:

data = JSON.parse(data);

尝试将json字符串解析为json对象以获取值:

data = JSON.parse(data);

您没有在
$中提供
数据类型
。ajax
,因此ajax将响应视为
字符串
,而不是对象。因此,在
success
函数中,首先执行以下操作:

success: function(data) {
  data = JSON.parse(data);

您没有在
$中提供
数据类型
。ajax
,因此ajax将响应视为
字符串
,而不是对象。因此,在
success
函数中,首先执行以下操作:

success: function(data) {
  data = JSON.parse(data);

看起来您没有使用
dataType
,所以可以尝试执行
success:function(data){data=JSON.parse(data)
作为
成功
函数中的第一件事?啊,愚蠢的错误。谢谢。我现在就回答。我已经把它写成了答案,10分钟后,你就可以接受了。
:)
不客气!
:)
谢谢伙计。
:)
看起来你没有使用
数据类型
,所以你能尝试一下
成功吗:function(data){data=JSON.parse(data);
作为
成功
函数中的第一件事吗?啊,愚蠢的错误。谢谢。我现在就回答。我已经把它写成了答案,10分钟后,你可以接受。
:)
不客气!
谢谢你,伙计。
:)