1

Netbeans 7.1.2 で Java Web サービスを作成し、Netbeans を介して Java クライアントを作成してテストしたところ、機能しました。その後、jQuery クライアントを作成しようとしましたが、失敗しました。

jQuery クライアント コードは次のとおりです。

$.ajax({
    type: "POST",
    url: "http://luke-test.j.layershift.co.uk/ClubInService/getHello",
    data: "{val:luke}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: OnSuccessCall,
    error: OnErrorCall
});

function OnSuccessCall(response) {
    $tmp = "";
    $.each(response, function(index, element) {
        $tmp += element + ";";
    });
    alert($tmp);
}


function OnErrorCall(response) {
    $tmp = "";
    $.each(response, function(index, element) {
        $tmp += element + ";";
    });
    alert($tmp);
}

私が呼び出そうとしている関数は次のとおりです。

@WebMethod(operationName = "getHello")
public String getHello(@WebParam(name = "val", targetNamespace =
     "http://clubinservice/") String val) {
   return "Hello " + val + "!";
}

jQuery を使用して Java Web サービスを使用すると、次のエラーが表示され、意味がわかりません。

0;関数 (a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}これを返す}; function (){return s===2?n:null};function (a){var c;if(s===2){if(!o){o={};while(c=bG. exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c};関数(a){ s||(d.mimeType=a);これを返す};関数 (a){a=a||"中止",p&&p.abort(a),w(0,a);これを返す};関数 () {if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1])) } return this}; function (){if(c){var a=c.length;n(引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0 ],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k =a,o(e[0],e[1]))}return this};function (){return e};function (){return!!i};function (){return!!i};function (a,b,c){i.done(a).fail(b).progress(c);これを返す};function (){i.done.apply(i,arguments).fail.apply(i,arguments);return this};function (a,b,c){return f.Deferred(function(d){f.each ({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e= b[1],g;f.isFunction(c)?ia:ia})}).promise()};関数 (a){if(a==null)a=h;else for(var b in h )a[b]=h[b];return a};関数 (){if(c){var a=c.length;n(引数),j?l=c.length:e&&e!==!0&& (k=a,o(e[0],e[1]))}return this};function (){if(c){var a=c.length;n(arguments),j?l=c. length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(arguments ),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}これを返す};;0;エラー;apply(i,arguments);return this};function (a,b,c){return f.Deferred(function(d){f.each({done:[a,"解決"],fail:[b, "拒否"]、進捗:[c、"通知"]}、関数(a,b){var c=b[0]、e=b[1]、g;f.isFunction(c)?ia:ia })}).promise()};関数 (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a};関数 ( ){if(c){var a=c.length;n(引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]) )}これを返す};関数 (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[ 0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&( k=a,o(e[0],e[1]))}return this};function (a){if(a){var b;if(s<2)for(b in a)j[b ]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}これを返す};;0;エラー;apply(i,arguments);return this};function (a,b,c){return f.Deferred(function(d){f.each({done:[a,"解決"],fail:[b, "拒否"]、進捗:[c、"通知"]}、関数(a,b){var c=b[0]、e=b[1]、g;f.isFunction(c)?ia:ia })}).promise()};関数 (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a};関数 ( ){if(c){var a=c.length;n(引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]) )}これを返す};関数 (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[ 0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&( k=a,o(e[0],e[1]))}return this};function (a){if(a){var b;if(s<2)for(b in a)j[b ]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}これを返す};;0;エラー;Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){ var c=b[0],e=b[1],g;f.isFunction(c)?ia:ia})}).promise()};関数 (a){if(a==null)a =h;else for(var b in h)a[b]=h[b];return a};function (){if(c){var a=c.length;n(arguments),j?l= c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n (引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){ var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status] ,v.then(b,b)}これを返す};;0;エラー;Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){ var c=b[0],e=b[1],g;f.isFunction(c)?ia:ia})}).promise()};関数 (a){if(a==null)a =h;else for(var b in h)a[b]=h[b];return a};function (){if(c){var a=c.length;n(arguments),j?l= c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n (引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){ var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status] ,v.then(b,b)}これを返す};;0;エラー;e=b[1],g;f.isFunction(c)?ia:ia})}).promise()};関数 (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a};function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!== !0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(引数),j?l= c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n (引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (a){if(a) {var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b )}これを返す};;0;エラー;e=b[1],g;f.isFunction(c)?ia:ia})}).promise()};関数 (a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a};function (){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!== !0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n(引数),j?l= c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c.length;n (引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (a){if(a) {var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b )}これを返す};;0;エラー;j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c .length;n(引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数(a){ if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then (b,b)}これを返す};;0;エラー;j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数 (){if(c){var a=c .length;n(引数),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}これを返す};関数(a){ if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then (b,b)}これを返す};;0;エラー;

役立つ場合は、Web サービスの機能を試してみてください。どんな助けでも素晴らしいでしょう!

ありがとう

編集

JSON.stringifyを使用する必要があることに気付いた後、次のようになります。

function OnSuccessCall(response) {
    alert(JSON.stringify(response));
}


function OnErrorCall(response) {
    alert(JSON.stringify(response));
}

別のエラー メッセージが表示されました。

{"readyState":0,"responseText":"","status":0,"statusText":"error"}

herehereを見た後、私は試しました

$.post("http://luke-test.j.layershift.co.uk/ClubInService/getHello",
{val: "John"},
function(data){
    alert(JSON.stringify(data));
}, "json")
.error(function(data){alert(JSON.stringify(data));});

エラーメッセージも返されました:

{"readyState":0,"responseText":"","status":0,"statusText":"error"}
4

1 に答える 1

1
  • 相対 URL を試す
  • 使用: contentType : "application/json",
  • 追加: dataType : "json",

また、コンテンツを提供する URL とは別の URL にアクセスすると、ブラウザにセキュリティが適用されます。この場合、jsonp について読む必要があります。

http://www.fbloggs.com/2010/07/09/how-to-access-cross-domain-data-with-ajax-using-jsonp-jquery-and-php/

于 2012-08-10T14:32:51.800 に答える