关于JQUERY AJAX调用WEB服务出现的诡异异常。

str=$("#aa").val();$.ajax({type:"POST",//访问WebService使用Post方式请求contentType:"applicati... str=$("#aa").val();
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json;charset=utf8", //WebService 会返回Json类型
url: "../WebServices/MisHelper.asmx/GetOrgani", //调用WebService
data: "{userid:'" + str + "'}", //参数
dataType: 'json',
beforeSend: function (x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
success: function (result) { //回调函数,result,返回值
});
}
});
这段代码调用WEB服务就报错,因为报错内容汉字部分为乱码不知道是为什么,应该是属于JSON序列化的问题.
str="M1123456789";
$.ajax({
type: "POST", //访问WebService使用Post方式请求
contentType: "application/json;charset=utf8", //WebService 会返回Json类型
url: "../WebServices/MisHelper.asmx/GetOrgani", //调用WebService
data: "{userid:'" + str + "'}", //参数
dataType: 'json',
beforeSend: function (x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },
success: function (result) { //回调函数,result,返回值
});
}
});
就可以正常执行,
二者的区别就是出错的ajax参数的值是取自页面的TEXTBOX的(也从后台代码去过,可是错误一样),而正确执行的是直接赋值的。
非常不理解,请高人指点。
展开
 我来答
程豆豆5A
2015-03-05 · 知道合伙人互联网行家
程豆豆5A
知道合伙人互联网行家
采纳数:153 获赞数:524
从事web前端俞6年,经验丰富,喜欢帮助别人,同时也在提高自己

向TA提问 私信TA
展开全部
你最好事先判断一下 str的值,可以打印看看,是否正确
追问
str值正确,手动复值和取值相同
内的权势
推荐于2016-02-18 · TA获得超过349个赞
知道小有建树答主
回答量:367
采纳率:50%
帮助的人:275万
展开全部
data: "{userid:'" + str + "'}", //参数

->
data: {userid: str}, //参数
是这样的。
追问

去掉引号也不行。

而且为什么直接赋值就可以啊。

追答
$.ajax({
type: "POST", //访问WebService使用Post方式请求
url: "../WebServices/MisHelper.asmx/GetOrgani", //调用WebService
data: {userid:str}, //参数
success: function (result) { //回调函数,result,返回值
alert(result)
});
}
});

先去除多余的东西。然后再提交看看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式