当前位置: 代码迷 >> Ajax >> ajax jsonp返回值有关问题求解
  详细解决方案

ajax jsonp返回值有关问题求解

热度:304   发布时间:2012-05-27 05:42:30.0
ajax jsonp返回值问题求解!
JScript code
<script language=javascript> 
$.ajaxSetup({ 
  async: false 
  }); 

function testww()
{
$.ajax(
    {
  url: "http://test1.123.com/test.asp", 
    dataType:"jsonp", 
    async: false,
    jsonp:"make_html",
    success:function(data){ 
          abc=1;
     }
  });  
    return abc;
} 
    var abc=0;
    abc=testww();   
    alert(abc)
</script>


最终 abc的值为0 不是1 求解

------解决方案--------------------
HTML code

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script language=javascript> 
$.ajaxSetup({ 
  async: false 
  }); 

function testww()
{
$.ajax(
    {
    url: "http://test1.123.com/test.asp", 
    dataType:"jsonp", 
    async: false,
    jsonp:"make_html"
    });  
    return abc;
}
function make_html(){
    abc=1;
} 
var abc=0;
abc=testww();   
alert(abc)
</script>

------解决方案--------------------
楼主你撒谎 我测试了 是1
------解决方案--------------------
jsonp是异步执行的,你设置async:false没用
------解决方案--------------------
JScript code

<script language=javascript> 
$.ajaxSetup({ 
  async: false 
  }); 

function testww()
{
$.ajax(
    {
  url: "http://test1.123.com/test.asp", 
   // dataType:"jsonp", 我去掉这两行是1, 呵呵

    async: false,
   // jsonp:"make_html",
    success:function(data){ 
          abc=1;
     }
  });  
    return abc;
} 
    var abc=0;
    abc=testww();   
    alert(abc)
</script> 
  相关解决方案