Jquery JSON 响应处理

发布于 2024-11-15 21:38:22 字数 801 浏览 0 评论 0原文

我有一个用 jQuery 编写的 ajax 查询,它以这种格式返回有效的 JSON,

$.ajax({
   type     : 'POST',
   url      : 'ajax/job/getActiveJobs.php',
   success  : function(data){
       if(data[''] === true){
           alert('json decoded');
       }

       $('#waiting').hide(500);
       $('#tableData').html(data['content']);
       $('#message').removeClass().addClass((data.error === true)
       ?'error':'success').text(data.msg);
       if(data.error === true)
           $('#message')

   },
   error    : function(XMLHttpRequest, textStatus, errorThrown){
       $('#waiting').hide(500);
       $('#message').removeClass().addClass('error').html(data.msg);
   } })

我认为这是不正确的,因为它没有显示数据,如果我使用,

$('#mydiv').html(data);

我会返回并显示所有数据。

非常感谢任何帮助

I have an ajax query written in jQuery that is returning valid JSON in this format

$.ajax({
   type     : 'POST',
   url      : 'ajax/job/getActiveJobs.php',
   success  : function(data){
       if(data[''] === true){
           alert('json decoded');
       }

       $('#waiting').hide(500);
       $('#tableData').html(data['content']);
       $('#message').removeClass().addClass((data.error === true)
       ?'error':'success').text(data.msg);
       if(data.error === true)
           $('#message')

   },
   error    : function(XMLHttpRequest, textStatus, errorThrown){
       $('#waiting').hide(500);
       $('#message').removeClass().addClass('error').html(data.msg);
   } })

I take it this is not correct as it is not displaying the data, if I use

$('#mydiv').html(data);

I get all of the data back and displayed.

any help is really appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

预谋 2024-11-22 21:38:22

dataType 设置为 json,以便 jQuery 将 JSON 转换为 JavaScript Object

或者,使用 getJSON() 或发送 application/json mime 类型。

Set the dataType to be json so jQuery will convert the JSON to a JavaScript Object.

Alternatively, use getJSON() or send the application/json mime type.

悍妇囚夫 2024-11-22 21:38:22

dataType 设置为 json 或使用 var json = JSON.parse(data) 手动执行此操作。

编辑

我添加此内容是因为其他人建议 eval,不要这样做,因为它会直接传递到 JSON 对象中,而没有任何首先是卫生,允许脚本通过,直接导致 XSS 漏洞。

Either set dataType to json or use var json = JSON.parse(data) to do it manually.

EDIT:

I'm adding this because somebody else suggested eval, don't do this because it gets passed straight into a JSON object without any sanitation first, allowing scripts to get passed leading straight into an XSS vulnerability.

羁客 2024-11-22 21:38:22

数据是 Json,因此您需要执行以下操作:

success: function (data) {
  var newobject = eval(data);
  alert(newobject.msg);

}

或执行以下操作:

$ajax({
    url: url,
    data: {},
   dataType: "json",
   success: function (newObject) {
   alert(newobject.msg);
}
});

The data is the Json so you will want to do this:

success: function (data) {
  var newobject = eval(data);
  alert(newobject.msg);

}

or do this:

$ajax({
    url: url,
    data: {},
   dataType: "json",
   success: function (newObject) {
   alert(newobject.msg);
}
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文