![](/img/trans.png)
[英]ASP.NET WebMethod returns whole page to JQuery ajax requests
[英]Jquery AJAX with ASP.NET WebMethod Returning Entire Page
我正在做一些簡單的測試(准備一個更大的項目)來使用JQuery AJAX調用ASP.NET WebMethod。 在我的示例中,我的WebMethod返回一個簡單的字符串。 但是,當我嘗試使用JQuery調用它時,我會返回整個HTML頁面內容,而不僅僅是我的字符串。 我錯過了什么?
客戶端 :
$(document).ready(function ready() {
$("#MyButton").click(function clicked(e) {
$.post("Default.aspx/TestMethod",
{name:"Bob"},
function(msg) {
alert("Data Recieved: " + msg);
},
"html"
);
});
});
服務器端:
using System;
using System.Web.Services;
namespace JqueryAjaxText
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
[WebMethod]
public static string TestMethod(string name)
{
return "The value submitted was " + name;
}
}
}
看看這個鏈接。 我使用了他的一些其他帖子來成功調用WCF服務。 請務必查看相關文章:
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
仔細閱讀文章,但基本上:
$("#Result").click(function() {
$.ajax({
type: "POST",
url: "Default.aspx/GetDate",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
$("#Result").text(msg.d);
}
});
});
我想我對JQuery的$ .post命令中的“type”參數感到困惑。 在與一些人交談之后,似乎調用WebMethod的返回類型必須是“json”。 我試圖使用“html”。 一旦我將其改為“json”,然后一切正常。 顯然,用[WebMethod]修飾的方法只返回JSON,這就是我的掛機所在。
謝謝你們的回復。
嘗試將最后一個參數“html”更改為“text”。 此參數指定要返回的數據類型。
我有完全相同的問題:WebMethod返回整個HTML頁面而不是預期的數據。 對我來說,解決方案來自於更改〜/ App_Start / RouteConfig.cs內部的以下行:
settings.AutoRedirectMode = RedirectMode.Permanent;
至
settings.AutoRedirectMode = RedirectMode.Off;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.