问题是这样的, asp.net不会像你想的那样只给你输出一个字符串, 即使没有问题,它输出的也应该是这样
sssaa
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>
Untitled Page
</title>
</head>
<body>
sssaa
<form name="form1" method="post" action="Default2.aspx?name=aa" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value=
"/wEPDwUJNzgzNDMwNTMzZGRYppQSgTHiKbHdEkT8ihhiF7y3kw==" />
</div>
</form>
</body>
</html>
一般我们都不会用aspx也去实现后台的调用,一个可取的方案是通过自定义的httphandler模块(ashx文件)像这样去从后台返回我们要的东西.
public void ProcessRequest(HttpContext context)
{
string result = String.Empty;
if (Common.GetParameterValue(context, "action", out action))
{
switch (action)
{
case "get":
//
break;
case "getalert":
//
break;
case "save":
//
break;
case "addticker":
//
result=;
break;
}
}
context.Response.ContentType = "text/plain";
context.Response.Write(result);
context.Response.End();
}
另一些解决方案可以实现类似的方法调用,
- 通过(.aspx)后台的静态方法,和asp.net ajax一样要标注webmethod属性.
- 直接消费webservice(asmx);
具体可以参见这两篇文章.
Using jQuery to directly call ASP.NET AJAX page methods | Encosia |
Using jQuery to Consume ASP.NET JSON Web Services | Encosia |
请问是哪里返回的啊。不解。你alert一下。
$("#showResult").html(msg);?
dataType不应该是html,可以试试json