-1

私は 1 つの HTTPS ページを持っています。その保護されたページには、jquery オートコンプリート プラグインを実装しようとしています。

私のコードは次のとおりです。

function stateAutoComplete(id, widthParam){

widthParam = typeof widthParam !== 'undefined' ? widthParam : '188px';

jQuery( "#"+id).autocomplete({
    source: function( request, response ) {
        jQuery.ajax({
            url: base_url+"/stateSearchJSON",
            dataType: "jsonp",
            data: {                 
                maxRows: 10,
                startsWith: request.term
            },
            success: function( data ) {                                 

            response( jQuery.map( data.states, function( item ) {
                    return {
                        value: item.stateName,
                        label: item.stateName
                    }
                }));
                jQuery('.ui-autocomplete').css('width', widthParam);

            }
        });
    },

jquery ajax呼び出しを使用してjson応答を取得するために同じオリジンポリシーを使用していますが、firebug netタブで応答を見ると、空の応答が返され、応答URLが赤くなります。

httpページで同じコードを使用し、httpページで非常にうまく機能するため、なぜこの問題が発生するのかわかりません。なぜこの問題がhttpsページで発生するのですか?

誰でも私を助けてくれますか?

前もって感謝します

4

1 に答える 1

0

リクエストが http://example.com/requestingpage.html から http://example.com/stateSearchJSON に送信されていることを確認する必要が
あります


http://example.com/requestingpage.htmlからhttps://example.com/stateSearchJSONへ、
または
http://example.com/requestingpage.htmlからhttps://differenturl.com/stateSearchJSONへ

それ以外の場合は、コールバックを追加して jsonp (使用しているように見えます) を使用する必要があります。不要な場合は、「json」を削除することをお勧めします

于 2014-01-29T21:50:31.050 に答える