我试图将字符串传递给我的后台代码,但它始终为空。
$.ajax({
type: "POST",
url: "Search.aspx?do=SearchText",
data: {searchText: searchText },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: fnsuccesscallback,
error: fnerrorcallback
});
protected void Page_Load(object sender, EventArgs e)
{
if (Request["do"] != null && Request["do"] == "SearchText")
{
string result = Search.searchText(Request["searchText"]);
}
}
我的请求[“searchText”]始终为空。
编辑:
<小时/>public void DoSearch(string SearchText)
{
string result = Search.searchText(SearchText);
}
在 ajax 帖子中:
url: "Search.aspx/DoSearch",
data: { searchText: searchText },
最佳答案
好的,我已经设置了一个适合我的基本测试。
var myString = 'Test';
$.ajax({
type: "POST",
url: "SearchTest.aspx/DoSearch",
data: '{"searchText":"' + myString + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: fnsuccesscallback,
error: fnerrorcallback
});
function fnsuccesscallback() {
}
function fnerrorcallback() {
}
//记住 webmethod 进入 SearchTest.aspx
页面后面的代码
[WebMethod]
public static void DoSearch(String searchText)
{
//Do your stuff!!
}
记住导入命名空间...using System.Web.Services;
希望这对你有用
关于c# - ajax参数总是为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118652/