2013-02-17 26 views
0
<a class="removeApp" data-app="12">Close Something </a> 
$('.removeApp').click(function (e) { 
    $.ajax({ 
     async: false, 
     type: 'POST', 
     url: '@Url.Action("Remove", "Something")', 
     data: { 
      id: $(this).data("app") 
     }, 
     success: function (result, data) { 
      console.log(this.data); //gives id=12 
      console.log (this.data["id"]) ///gives nothing how do i get just 12 
     } 
    }) 
}); 

我试图获取通过参数名传递的数据我该如何做?获取通过Ajax调用成功后的参数值

+1

您的数据来自哪里?你刚刚得到一个“id = 12”的字符串吗?在这种情况下,你需要解析字符串。 – 2013-02-17 21:38:37

+0

from ancor data -app elements – 2013-02-17 21:43:06

+0

你可以发布你正在发布的服务器方法吗? – glosrob 2013-02-17 21:56:00

回答

0

那么数据应该看起来像“{'id':12}”,这将是JSON,你可以使用jQuery.getJSON()函数,这将返回一个JavaScript对象 - 这正是你想要的。
我认为你目前得到的字符串等于“id = 12”作为响应 - 所有的HTTP数据都是一个字符串,这就是它的工作原理。
您可以用一些JavaScript解析字符串:

var id = parseInt(data.split("=")[1]); 

这是一个有点硬编码和丑陋但是。

+0

我如何得到它,如果它的{“id”:9} 我累了this.data.id上面它返回undefined – 2013-02-17 22:07:32

+0

你使用其他的jQuery功能? JavaScript需要'评估'JSON字符串。 – 2013-02-17 22:17:03