0

RESTFul Web サービスに大きな問題があります。

ここに私のアーキテクチャがあります:

  • サーバー側: EJB3 + RESTFul Web サービスを使用します。
  • クライアント側: ブートストラップ twitter + JQuery 1.8 および Ajax メソッドを使用して Web サービスにアクセスします。

クライアント側の開発者向けにコミットする前に、サーバー側で JSP を作成して Web サービスをテストしました。この JSP を使用すると、すべての Web サービスが完全に機能します。次に、これらの Web サービスに html ページから (リモートで) アクセスしようとしましたが、$.ajax要求が機能しません。

私はそれについて多くの投稿に乗りました.JSONPをcallback=?URLの最後に追加したり、使用したりすることについて話している人もいますdataType='jsonp'

私ができる最善の方法は、ブラウザーのリソースでオブジェクトを表示することですが、エラー コールバックのみが呼び出されます。次のようなエラーがあります:ParserError : Error: jQuery18207595316471997648_1348928429983 was not called.

(いくつかの投稿で述べたように)使用しようとするとdataType='text json'何も起こりませんが、エラーコールバックはまだ呼び出されています!

問題は、GET URL を Web ブラウザに直接入力すると、対応する JSON オブジェクトの文字列が表示されるため、Web サービスからのものではないようです。

この JSON 文字列の例を次に示します。

{"member1":[{"email":"romain@gmail.com","firstname":"Romain","idMember":"4","lastname":"Dev","login":"romain","password":"5026bc63b5418ffdb54f238db245ec01"},{"email":"productowner@gmail.com","firstname":"Product","idMember":"7","lastname":"Owner","login":"prodowner","password":"f5bf48aa40cad7891eb709fcf1fde128"}]} 

これが私のajaxリクエストの例です:

$.ajax({
    url:'http://localhost:8080/myresource/all',
    type:'GET',     
    success: function(reponse) {        
        renderList(reponse);
    },  
    error:function (xhr, status, error){        
        alert('Error :'+xhr.responseText+' ('+status+' - '+error+')');  
    },  
    dataType: 'json'

  });

Glassfish サーバー 3.1.2 を使用していますが、表示できる唯一のログは次のとおりです。

INFO: Couldn't find JAX-B element for class javax.ws.rs.core.Response

しかし、HTML ページではなく JSP で機能するのはなぜですか??

私は本当に立ち往生しています、私は本当にあなたの助けが必要です! :)

事前にどうもありがとうございました

4

1 に答える 1

1

この機能を試すことができます:

function sendRequest(success_callback,failure_callback,data,ws_url,asynchronous){
$.ajax({ 
    async: asynchronous,
    type: "GET",
    crossDomain: true,//if cross domain req 
    dataType: "json",
    Accept : "application/json",
    contentType: "application/json",
    url:"url",
    data:  data,
    success:success_callback,
    error: failure_callback
}); 

}

function success_callback(msg){

}

function failure_callback(msg){

}

于 2012-10-31T07:52:17.183 に答える