日期:2014-05-16  浏览次数:20708 次

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>