2012-02-17 18 views
0

テキストボックスの先行タイプのHTMLページでjqueryオートコンプリート機能を使用しています。 インターネットがサービスを呼び出してJSONを返す.netページを呼び出すJQueryを使用しています。 ここでの問題は、すべてが同じサーバーにある場合に動作します。 しかし、私たちの要件は、HTMLページが別のサーバーにあり、呼び出す.netページが別のサーバーにあるということです。別のサーバーからアクセスしたときにJqueryのオートコンプリートが機能しない

IISで.netページを1つのサーバーにホストし、HTMLページのJqueryがこのホストされたページを呼び出しました。 IISを通過すると、「ACCESS IS DENIED」というエラーが表示されます。 私はそれがIISの異なるセキュリティレベル設定のためだと思います。

私はそれをローカルに開くと、IEは "ブロックされたコンテンツを許可する" w.r.tをActive Xコントロールに要求し、それを受け入れるとIISは動作しませんがIEではブロックされたコンテンツを許可しません。

$(document).ready(function() { 
    $.ajaxSetup({ 
     type: "POST" 
    }); 
    $('input[type=text][id$=txtTest]').autocomplete("server/testpage", { 
     dataType: "json", 
     minChars: 2, 
     datakey: "JsonExam", 
     max: 10, 
     width: 605, 
     formatItem: function(item) { 
      return item.Name; 
     }, 
     useValidation: true 
    }); 
})​;​ 
+0

jqueryオートコンプリートプラグインを使用していますか? jquery UIオートコンプリートのようには見えません。 – naveen

答えて

4

問題は、Ajax呼び出しのみ(:http://en.m.wikipedia.org/wiki/Same_origin_policy同一生成元ポリシーを参照してください)同じドメインで許可されているということです。 JSONPを使用している場合を除いて、別のサーバー上でサービスを呼び出すことはできません。

関連する問題