我正在开发asp.net webforms,在从客户端进行ajax调用时无法解决问题。 我得到了客户端脚本:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
url: "Default.aspx/getnewmails",
data: {},
dataType: "html",
success: function (str)
{
$("#div2").html(str);
}
});
});
</script>
和服务器端方法,它在Default.aspx.cs
中的字符串var中返回html:
[WebMethod]
public static string getnewmails()
{
string URI = "https://somewebsite.com/GetEmails.aspx";
WebClient webClient = new WebClient();
System.Collections.Specialized.NameValueCollection formData = new System.Collections.Specialized.NameValueCollection();
try
{
formData["uname"] = "john.g";
formData["upass"] = "12345";
byte[] responseBytes = webClient.UploadValues(URI, "POST", formData);
string Result = Encoding.UTF8.GetString(responseBytes);
return Result;
}
catch
{
return "";
}
}
出于某种原因,在进行ajax调用时,我得到Default.aspx
的同一页面的html而不是我期望从getnewmails方法得到的Html ...
此外,在服务器端方法中放置断点时,它不会被击中。
感谢您的帮助
答案 0 :(得分:1)
我已更新您的代码,它适用于我。
更新代码:
$.ajax({
type: "POST",
url: "Default.aspx/getnewmails",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$("#div2").html(data.d);
},
error: function (xhr, ajaxOptions, thrownError) {
$("#div2").html('error: ' + xhr.status + ' ' + thrownError);
}
});