2012-02-14 6 views
0

jqueryのAJAXリクエスト上に値を返さないと、自分のコードWebServiceが私はjquery.hereとクライアントからのクロスドメインのWebサービスを消費したい

関数のgetId(){

 var testid = ($('#<%=PreviousTest.ClientID %> OPTION:selected').val()); 

     jQuery.support.cors = true; 
     jQuery.ajax({ 
      type: "POST", 
      url: "../FalconWebService.asmx/minlatency", 
      data: "{'testId':" + testid + "}", 
      contentType: "application/json; charset=utf-8", 
      dataType:"json", 
      success: function (data) { 
       alert("catch"); 
       var msg = jQuery.parseJSON(data.Table); 
       return msg; 

       }, 
      Error: function() { 
       alert("error"); 
      } 

私のWebサービスリターンします{"minlatency":16.0、 "Time": "/ Date}"、 "minlatency":7.0、 "Time": "/"この形式の値は、 {/} "、" Time ":"/Date(1328248786690 + 0530)/ "}、{" minlatency ":6.0、" Time ":1328248784677 + 0530} 0530)/ "}、{" minlatency ":20.0、" Time ":"/Date(1328248790707 + 0530)/ "}、{" minlatency ":12.0、" Time ":"/Date(1328248792723 + 0530)/ "}、{" minlatency ":26.0、 "Time": "/ Date(1328248794723 + 0530)/"}、 "" minlatency ":18.0、" Time ":"/Date(1328248796723 + 0530)/ "}]}

答えて

0

クロスドメイン作業の呼び出し別の方法で。それらは、コールバック関数を使用してページに挿入される動的なjavascriptを作成します。この関数は、サービスからの応答を処理するために使用されます。 Jqueryの呼び出しでは、 "?callback =?"サービスのURLに追加します。 "callback"は、挿入される関数の名前です。

jQuery.ajax({ 
    type: "POST", 
    url: "../FalconWebService.asmx/minlatency", 
    data: "{'testId':" + testid + "}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "jsonp", //The data type that you must use is JSONP. Basically tells JQuery that the request is cross-domain 
    success: function (data) { 
     alert("catch"); 
     var msg = jQuery.parseJSON(data.Table); 
     return msg; 
    }, 
    Error: function() { 
     alert("error"); 
    }, 
    jsonpCallback: 'callback' //Dude to the fact that the JS is being generated dynamicaly, this tells JQuery to use the name "callback" for the function that will handle the result, as it adds "?callback=?" to the URL 
}); 

あなたは、「コールバック関数名を上書きしたい場合は、また、代わりに「jsonpCallback」の「JSONP」を使用することができます:あなたは次のことを行う必要がjQueryを使ってクロスドメインのサービスを呼び出すために

jsonp request "(JQueryから)。

JSONメッセージと通信するWCF RESTサービスではうまくいきましたが、あなたのケースでも同じように動作するはずです。これはすべてJQuery Ajaxのマニュアルで説明されています。

これが役に立ちます。

関連する問題