从同一个域中检索Json数据,如何使用asp.net从另一个域获取JsonP?

时间:2011-10-20 08:16:13

标签: javascript jquery asp.net html json

我有以下代码来检索Json数据:

   <script type="text/javascript">
   $(document).ready(
   function(){
   $.getJSON(
     './json.txt',
     function(data){

        for(i=0; i<data.length; i++){
           var  content  = '<li>';
               content +=  data[i].fname + ' ' + data[i].lname;
               content += '</li>';

           $('ul.rubrica').append(content);
        }

     }
  );
}
);
</script>
<ul class="rubrica">
</ul>

和json数据:

[
   {
      "fname"     : "<a href='http://www.riccardo.it'>Piottino</a>",
      "lname"     : "Mr Potato"
   }

]

现在我在另一台服务器上安装了json:http://www.site.com/json.txt 我怎样才能像以前一样使用jsonP获取内容? Tnx提前

- 编辑:因为我看到我必须使用服务器端语言,我怎么能用asp.net做呢?

2 个答案:

答案 0 :(得分:1)

详情@ http://api.jquery.com/jQuery.getJSON/

示例 -

$.getJSON("http://www.site.com/json.txt?jsoncallback=?",
  function(data) {
        for(i=0; i<data.length; i++){
           var  content  = '<li>';
               content +=  data[i].fname + ' ' + data[i].lname;
               content += '</li>';

           $('ul.rubrica').append(content);
});

答案 1 :(得分:0)

使用独立的JSON文件无法做到这一点。

当JQUERY使用jsonp对JSON进行跨域调用时,它会在REQUEST参数数组中以数字的形式发送参数。然后返回的JSON应该是此参数的值。

所以你需要一个读取REQUEST参数的php或asp文件并获取参数的值(我忘记参数的名称 - 打印REQUEST参数并找到它)。

e.g。如果您在php REQUEST中获得的参数值是1245563

那么你的JSON输出应该是

编辑:

1245563 = "[
              {
              "fname"     : "<a href='http://www.riccardo.it'>Piottino</a>",
              "lname"     : "Mr Potato"
              }
              ]";