这里我以json格式给出输入。但是我没有得到输出。任何人都可以解决这个问题。
我对jsonp有一些疑问:
1)我怀疑是否需要使用jsonp调用远程Web服务,我们是否必须以json格式或查询字符串格式发送数据。
2)如果我们访问url并输入输入,那么我们将获得xml格式的o / p。所以我只想知道jsonp是否不适用于将xml作为输出的webservices。
<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>
答案 0 :(得分:0)
无论您调用什么服务,都应返回JSONP for Ajax调用dataType: "jsonp"
才能正常工作。
XML响应不是JSONP响应 - 没有魔术转换从一个到另一个。
答案 1 :(得分:0)
编辑程序代码..这段代码工作正常。但我调用的服务不会返回JSONP进行Ajax调用。所以此代码的输出将是未定义的。