のJSONPを返します。 jsonの代わりにjsonpリクエストを行い(スニッフィングして、?callback=jQueryxxxxxxxxx
で渡されたURLを呼び出したことがわかりました)、jqueryは名前をコールバックで渡す匿名関数にパックするので、成功関数は呼び出されません引数であり、サーバは標準jsonを返します(私はPOSTリクエストであり、クロスドメインリクエストではないのでjsonpを使いたくありません)。私は、現在のビューのURLとこのu
のajax url引数がhttp://localhost:8080/myapp/areax/...
にあるので、なぜjQueryがJSONPリクエストを行うのか分かりません。jQuery.ajaxは、私はこのような単純なAJAX呼び出しを持っている代わりに、JSON
EDIT:これは動作しませんどの
表示URL要求がなされている。このようなものです: http://hostname:8080/AreaName/Report/ViewReport とAjaxのuパラメータが/AREANAME/MyAutoComplete /検索のようなものですので、完全なURL
[{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]
01:
http://hostname:8080/AreaName/MyAutoComplete/Search?callback=jQuery151013129048690121925_1327065146844
サーバーの応答は次のようになりますように作られているオートコンプリートにあります
私はそれが
<script>
jQuery151013129048690121925_1327065146844([{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]);
</script>
である必要があり、そのために、それは、JSONPではありません知っているしかし、私はJSONP、通常のJSON要求をないようにしたいです。すべての
UPDATE
奇妙な事は(私はそれがプロジェクトで使用されているjQueryのV1.5.1のバグだと思うし始めている)私はdataType: "json"
を削除すると、それは通常のJSON要求を行うということです代わりにJSONリクエストを作成する方法の:)
だから、今、私はこれが期待どおりに動作する理由を説明受け付けます(とデータ型を持つものを「JSON」しません):から
$.ajax({
url: u, type: "POST",
data: data,
success: function (d) { response($.map(d, function (o) { return { label: o.Text, value: o.Text, id: o.Id} })); }
});
との互換性がない可能性があります、他のjQueryプラグインを持っている場合は、チェックあなたはどのパラメータを含む完全なURLを表示していただけますか? – nnnnnn
'u'があなたの現在のドメインに相対的な場合に試してみることができます。たとえば、/ myapp/areax/... – RvdK
はクロスドメインリクエストですか?同じホストでもポートは異なる可能性がありますか?それは奇妙な男です... –