1

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>

正常に動作するようですが、コンソールに「予期しない':'文字」というエラーメッセージが表示され続けます。

4

1 に答える 1

1

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リクエスト。

これがすべてをクリアすることを願っています。

于 2012-11-13T09:50:23.453 に答える