2017-05-31 70 views
0

的,我有以下的jQuery AJAX调用:jQuery的Ajax的POST:获取值超出响应

$.ajax({ 
     method: "POST", 
     url: "/Agenda/Template", 
     dataType: 'json', 
     data: { "templateId": templateSelect.options[templateSelect.selectedIndex].value }, 
     complete: function (data) { 
      for (var key in data) { 
       var value = data[key]; 
       alert("key: " + key, "value: " + value); 
      } 
     }}); 

我知道,返回的数据具有如属性:

  • 模板ID
  • 模板名称
  • URL

但是,对于我的生活,我无法得到他们。

我的提醒显示了很多不同的键...承诺,完成等,我只是无法找到我的价值观。

+0

当您对console.log执行操作时,数据显示的内容是什么? – guradio

+0

@guradio键/值对的列表,例如“Promise”,“Done”等。无法找到我的数据。 –

+0

你可以在OP – guradio

回答

0

这听起来AJAX回报承诺的对象,所以你可以使用$.when()功能:

$.when( 
    $.ajax({ 
     method: "POST", 
     url: "/Agenda/Template", 
     dataType: 'json', 
     data: { "templateId": templateSelect.options[templateSelect.selectedIndex].value } 
    }) 
).then(function(data, textStatus, jqXHR) { 
    for (var key in data) { 
     var value = data[key]; 
     alert("key: " + key, "value: " + value); 
    } 
}); 
+0

已经尝试过。它给了我相同的价值。我只需要获取我即将回来的数据。 –

+0

我更新了我的答案,请尝试。 –

0

尝试。它可能对你有帮助。

$.ajax({ 
     method: "POST", 
     url: "/Agenda/Template", 
     dataType: 'json', 
     data: { "templateId": templateSelect.options[templateSelect.selectedIndex].value }, 
     success: function (data) { 
      $.each(data,function(key,value) { 
       console.log("Key : " + key + " value : " + value); 
      }); 
     } 
});