webmethod返回整个html instread字符串值
webmethod returning whole html instread string value
我正在尝试从xmlhttp对象调用asp.net Web方法。
我的网络方法就像这个
[WebMethod]
public string getCities(string province)
我的javascript就像下面的
xmlhttp=new XMLHttpRequest({mozSystem: true});
xmlhttp.open("POST","http://www.rental-1.com/lp.aspx/getCities/Ontario",true);
xmlhttp.send();
xmlhttp.onreadystatechange=function(){
alert(xmlhttp.readyState+", "+xmlhttp.status);
if (xmlhttp.readyState==4 && xmlhttp.status==200){
var v1=xmlhttp.responseText;
alert(v1);
}}
作为回应,我得到了整个页面的html。但在上面,我只调用了webmethod,并期望返回字符串值。
任何帮助都将不胜感激。为什么我不只是得到字符串值,而不是页面的html
这是我的服务器端代码
[WebMethod]
public static List<string> getCities(string province)
{
List<string> strp = new List<string>();
strp=getCitiesFromDB(province);
return strp;
}
ASP。只有当您使用post请求(您是)并将任何参数作为JSON发送到服务器(您不是)时,NET才会调用您的web方法。当这些要求没有得到满足时,ASP。NET只会将您的请求视为对底层ASPX页面的普通请求。这就是为什么您看到完整页面的HTML返回的原因。
如果您JSON.stringify({ province: 'Ontario' })
,设置一个application/json
的内容类型头,并将其作为POST数据发送,那么您应该从ASP返回一个JSON数组。NET而不是整页的HTML。
有关详细信息,请参阅本文的最后一部分:http://encosia.com/asmx-and-json-common-mistakes-and-misconceptions/
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JavaScript按钮/输入/函数,字符串反转
- 从查询字符串参数推断出正确的数据类型
- 高亮显示与数组字符串一起使用时文本插件中断
- webmethod返回整个html instread字符串值