-1

ここで私はjson形式で入力を与えています.しかし、私は出力を取得していません.誰かがこの問題を解決してください.

jsonp に関するいくつかのクエリがあります。

1)jsonpを使用してリモートWebサービスを呼び出すには、json形式またはクエリ文字列形式でデータを送信する必要があるかどうか疑問があります。

2) ここで URL にアクセスして入力すると、o/p が xml 形式で取得されます。だから私はjsonpが出力としてxmlを与えるWebサービスでうまくいかないかどうか知りたいだけです。

 <html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
<title></title>
<script src="Scripts/jquery-1.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
function myQuerySuggestions() {
    var searchText = document.getElementById('txtsearch').value;
                searchText = "'" + searchText + "'";
                var jasonData = "{" + 'Celsius:' + searchText + "}";
    $.ajax({
        url: "http://www.w3schools.com/webservices/tempconvert.asmx/CelsiusToFahrenheit",
        dataType: "jsonp",
        crossDomain: true,            
        data:jasonData,
        jsonpCallback: blah,
        contentType: "application/json; charset=utf-8",
        success: function (data, status) {
            alert(status+" status");
        },
        error: function () { alert("error"); }
    });

}
function blah(data) {
   alert("called");
   alert(data);
   // var result = (typeof data.d) == 'string' ? eval('(' + data.d + ')') : data.d;
   // $('#summary').html('<p>All new content. <em>You bet!</em></p>');
   // $('#summary').html(result);
}

</script>
</head>
<body>
<form id="form1" runat="server">
 <div>
<label for="txtsearch">
    Enter country:
</label>
<input type="text" id="txtsearch" size="43" style="font-size: 12px; font-weight: bold;" />
<br />
<asp:Button ID="btn" runat="server" Text="Submit" OnClientClick="myQuerySuggestions();return false;" />
<div id="summary" runat="server"></div>
</div>
 </form>
</body>
    </html>
4

2 に答える 2

0

プログラムコードを編集しました。このコードは正常に機能しますが、呼び出しているサービスはAjax呼び出しのJSONPを返さないため、このコードの出力は未定義になります。

于 2013-01-10T06:04:42.073 に答える
0

呼び出しているサービスが何であれ、Ajax呼び出しが機能するためにJSONPを返す必要がありますdataType: "jsonp"

XML応答はJSONP応答ではありません-あるものから別のものへの魔法の変換はありません。

于 2013-01-09T05:49:05.990 に答える