私が書いたJavaレストサーバーを呼び出すときに、いくつかのajaxの問題があります(そしてajaxには慣れていませんが、かなりの検索を行いました)。(Jetty を使用して) Rest サーバー内で実行されているテスト html ページがあり、次の呼び出しを使用します。
$('#getRVLakeForm').submit(function(e) {
var handle = $('#insertRVLakeHandle').val();
var lakekey = $('#RVLakeKey').val();
var temp = $('#RVLakeTemp').val();
var speed = $('#RVLakeWindspeed').val();
var degrees = $('#RVLakeWindDegrees').val();;
$.get('${pageContext.request.contextPath}/api/recent/lake/' + handle + "/" + temp + "/" + speed + "/" + degrees + "/" + lakekey, function(data) {
alert(data.lake[0].oid);
$('#RMLakeResponse').text("back");
});
Rest サーバーが返す JSON は次のとおりです。
{"user":[],"lake":[{"oid":"519b9a1a3004f8fa1287502a","type":"Lake","handle":"nightstalker","viewedhandle":"","viewedlaketag":" TXFORK","閲覧ユーザー名":"","タイムスタンプ":1369152026668}]}
この呼び出しは Rest Api を実行し、期待どおりに JSON を取得します... MAMP で実行されている HTML/PHP アプリケーションから同じ Rest Api を呼び出そうとすると、アウトバウンド呼び出しで ajax 呼び出しが機能します。 Java Rest サーバーにアクセスして呼び出しを確認すると、設計どおりに実行され、JSON が作成されて送信されます。問題は、ajax 呼び出しで成功関数への呼び出しが得られないことです (いずれかのエラー関数が呼び出されていません)。
urlrecent = "http://localhost:8080/server/api/recent/lake/" + handle + "/" + temp + "/" + speed + "/" + degrees + "/" + lakekey;
$.ajax({
type: "GET",
contentType: "application/json",
dataType: "jsonp",
url: urlrecent,
success: function (data) {
alert("hello there!");
alert(data)
},
error: function () {
alert('failed');
}
});
代わりに getJSON を試してみました..運が悪いです。それまでの間、Stack と Web で機能するものを探し続けます。「json」だけのdataTypeも試しました。
前もって感謝します。
=====
はい、contentType を変更しましたが、それは問題ではありませんでした。