2013-10-14 153 views
3

:有一个Ajax请求看起来像这样:使用jquery ajax json响应?

$.ajax({ 
      url: "https://stackoverflow.com/users/action/", 
      type: "POST", 
      data: myData, 
      context: this, 
      error: function() {}, 
      success : function() { 
     $(this).removeClass('disabled'); 
      } 
     }); 

因此,如果功能是全成,类“禁用”被删除。然而,我的函数返回以下JSON:

{"row":"fze684fz6f4ez68f4ze"} 

我想这个值,所以我可以在以后使用“添加到一个数据元素,即我要添加到点击的元素数据行=” fze684fz6f4ez68f4ze”

如何管理呢?我不能用自己弄清楚,我发现AJAX。

非常感谢您的帮助!

回答

8

它建议设置dataType如果你excpect得到JSON。 任何方式都要注意上下文。这可能是this的问题。

$.ajax({ 
    url: "https://stackoverflow.com/users/action/", 
    type: "POST", 
    data: myData, 
    context: this, 
    error: function() {}, 
    dataType: 'json', 
    success : function (response) { 
     $(this).removeClass('disabled'); 
     $(this).data("row",response.row); 
    } 
}); 
+0

Woops,刚刚看到了,为它+1了:) – tymeJV

3

由于文件中明确规定,通过的jQuery服务器的响应作为success的第一个参数回调:

 success : function (response) { 
     console.log(response); 
     } 
2

您可以使用jQuery.data(element, key)从返回的响应分配行元素

$('selector').data('row', reseponse.row); 

您可以使用id选择,如果你知道元素的ID

$('#elementId').data('row', response.row); 

你可以阅读更多关于选择器here

你的代码将是

$.ajax({ 
     url: "https://stackoverflow.com/users/action/", 
     type: "POST", 
     data: myData, 
     context: this, 
     error: function() {}, 
     success : function() { 
      $(this).removeClass('disabled'); 
      $('#elementId').data('row', response.row); 
    } 
});