簡體   English   中英

為什么不執行回調函數?

[英]Why Callback function does not execute?

function url()
{
    var companyName='ROCHESTER REGIONAL LIBRARY COUNCIL';
    var parts=companyName.split(" ");
    var newName="";
    for(var i=0;i<parts.length;i++)
    {
        newName+=parts[i];
        newName+="+";
    }

    newName=newName.substring(0,newName.length-1);
    var url="http://www.brightscope.com/autocomplete/search-box/company/?q=";
    url+=newName;
    url+="&limit=15&timestamp=1388104659571";
    return url;
}

function getjsonn(callback)
{
    var urlv=url();
    $.ajax({
        url:urlv,
        success: callback
        });     
}

function callback(result)
{
    alert(result);
    document.getElementById('te').innerHTML=result;
}

我正在發送ajax請求以獲取Json響應。 我認為請求的返回值應該是我進一步處理的Json對象。

現在,回調函數似乎沒有運行。 我嘗試使用firebug調試代碼,在控制台窗口中有一行顯示成功的get請求。

感謝您的所有幫助。 我在調用getjsonn()時忘了添加回調作為參數,我做了一些更改,現在可以在IE瀏覽器上使用了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<script src='http://code.jquery.com/jquery-2.0.3.min.js'></script> 

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'>        </script> 
<script type="text/javascript">
function url()
{
    var companyName='ROCHESTER REGIONAL LIBRARY COUNCIL';
    var newName=companyName.replace(" ","+");
    var url="http://www.brightscope.com/autocomplete/search-box/company/?q=";
    url+=newName;
    url+="&limit=15&timestamp=1388104659571";
    return url;
}

function getjsonn(callback)
{

    var urlv=url();
    try
    {
    $.ajax({
        url:urlv,
        success: callback
        });
    }
    catch(err)
    {
        alert("error");
    }       
}

function callback(result)
{
    document.getElementById('te').innerHTML=result[1].extra.id;
}








</script>
<title>The typeof operator</title>
</head>
<body>
    <input type='button' onclick='url()' value='get url'/>
    <input type='button' onclick='getjsonn(callback)' value='get json'/>
    <p id="te">ddd</p>  
</body>
</html>

這不能正常工作。 請找到Chrome的錯誤跟蹤。


XMLHttpRequest無法加載http://www.brightscope.com/autocomplete/search-box/company/?q=ROCHESTER+REGIONAL+LIBRARY+COUNCIL&limit=15&timestamp=1388104659571 所請求的資源上沒有“ Access-Control-Allow-Origin”標頭。 因此,不允許訪問源'http://localhost'


請注意,對於ajax請求,您需要調用除托管html和腳本所在的域以外的其他域,這些域應允許並以CORS(跨源資源共享)方式實現其服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM