jsonp跨域获取信息没有callback怎么获取信息

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />  

<script type="text/javascript">  

    function jsonpCallback(data) {

    for(var i in data)alert(i);

}

</script>  

<script type="text/javascript" src="http://crossdomain.com/services.php?callback=jsonpCallback"></script>  

上面代码是有callback的,所以能获取到result和msg。
要是最下面那段代码没有callback(http://crossdomain.com/servic...,内容和有callback(http://crossdomain.com/servic...相比较,

jsonpCallback{"result":{"html":""},"msg":""}

{"result":{"html":""},"msg":""}

<meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 
 <script type="text/javascript">  //这段该怎么填?</script> 
  <script type="text/javascript" src="http://crossdomain.com/services.php"></script>

我的问题就是这段没有callback的我该怎么填?才能和有callback的弹出的是一样的值


慕莱坞森
浏览 592回答 1
1回答

翻过高山走不出你

主要看你的后台是怎么写的。要想有一模一样的值,services.php&nbsp;就得做一些改动,不然是不可能实现的(数据内容是由php决定的,不是js决定的,js只是决定了如何展现数据而已)。例如,要想返回一模一样的值,services.php&nbsp;可以这样改:js:&nbsp;function&nbsp;jsonpCallback(data)&nbsp;{ &nbsp;&nbsp;&nbsp;alert(data); &nbsp;} services.php: $callback&nbsp;=&nbsp;isset($_GET['callback'])&nbsp;?&nbsp;$_GET['callback']&nbsp;:&nbsp;'jsonpCallback'; $sendData&nbsp;=&nbsp;array(&nbsp;&nbsp;'result'&nbsp;=>&nbsp;array(&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'html'&nbsp;=>&nbsp;'' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;'msg'&nbsp;&nbsp;&nbsp;&nbsp;=>&nbsp;''); $sendData&nbsp;=&nbsp;$callback&nbsp;.&nbsp;'&nbsp;'&nbsp;.&nbsp;json_encode($sendData);echo&nbsp;<<<EOT <script>&nbsp;{$callback}({$sendData}); </script> EOT;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript