簡體   English   中英

跨域ajax的問題

[英]problems with cross domain ajax

我很簡單,試圖從http://bootcamp.jit.su/welcome/marian獲取消息

這是我正在使用的代碼

<!DOCTYPE html>
<html>
    <head>
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <meta charset="utf-8" />
        <title>Globant :: Welcome to the HTML5 bootcamp</title>
    </head>
    <body>

    </body>
        <script type="text/javascript">
        $(document).ready(function(){
            var URL = "http://bootcamp.jit.su/Welcome/marian?callback=?";
            var request = jQuery.noConflict().ajax({
                    url: URL,
                    type: "GET",
                    dataType: 'jsonp',
                    processData: false,
                    success: function(data) {alert('hola') ;}
            });
        });

    </script>

</html>

似乎應該可以正常工作,但是我在控制台中不斷收到錯誤消息:“意外的':'字符”

問題是JSONP不是實際的AJAX請求。 這是一種欺騙瀏覽器的解決方法,它可以通過在標頭中插入腳本標簽來起作用。 認為,這是您的JSONP支持的URL

domain.com/jsonp.aspx?callback= processJSONP

processJSONP是您頁面中已經具有的函數,並且請求返回與此類似的腳本

processJSONP( {
    "glossary": {
        "title": "example glossary",
        "GlossDiv": {
            "title": "S",
            "GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
                    "SortAs": "SGML",
                    "GlossTerm": "Standard Generalized Markup Language",
                    "Acronym": "SGML",
                    "Abbrev": "ISO 8879:1986",
                    "GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
                        "GlossSeeAlso": ["GML", "XML"]
                    },
                    "GlossSee": "markup"
                }
            }
        }
    }
});

它使用所需的數據來調用函數,並且您可以做任何想做的事情。 當然,數據不必是JSON對象,否則您可以獲得更多的回調,例如

processJSONP("data1=11");
processJSONP("data2=22");
processJSONP("data3=33");

因此,如果URL不支持,您將無法獲取所需的數據。

為了在這里實現您想要的功能,您必須使用服務器端腳本(例如ASP.Net,PHP等)並通過服務器端對象(WebRequest,HttpRequest)請求內容,當您獲得它時,就可以將其用作JSONP或標准AJAX請求,因為它現在位於您自己的域中。

希望這能清除一切。

暫無
暫無

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

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