asp.net ajax WebService.asmx

zgcy123456 2012-05-26 03:10:40
js代码不能将数据发送到WebService1.asmx中对应的方法,只能进入insertCallbackSelsectSma提示错误的函数,以下是代码
js代码:
function GetClassByItemIdcy(id) {
var data = "{id:" + parseInt(id) + "}";
//alert(data);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "WebService1.asmx/SelectAllClassByItemId",
data: data,
dataType: "json",
success: insertCallbackSelsectSma,
error: errorCallbackSelsectSma
});
}
function insertCallbackSelsectSma(result) {
$("#DropDownList1").find("option").remove();
var i = result.d;
//alert(i);
if (result["d"].length > 0) {
for (var i = 0; i < result["d"].length; i++) {
var classsma = eval(result["d"][i]);
alert(classsma.Class_Id);
$("#DropDownList1").append('<option value="' + classsma.ClassId + '">' + classsma.ClassName + '</option>');
}
}
}
function errorCallbackSelsectSma(XMLHttpRequest, textStatus, errorThrown) {
alert("错误1");
}

页面中的dropdownlist

  <asp:DropDownList ID="DropDownList2" runat="server" onchange="GetClassByItemIdcy(this.value)">

WebService1.asmx 中的代码
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<ClassEntity> SelectAllClassByItemId(int id)
{
classbllall = new ClassBll();
return classbllall.ClassSelectIdById(id);
}
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgcy123456 2012-07-15
  • 打赏
  • 举报
回复
谢谢了,最后在一个帖子里找到了答案,价格上引号就好了。谢谢朋友们了。
  • 打赏
  • 举报
回复
当跨域访问时,你这里可以使用自己站点做个“中转”,使用自己的asmx来访问跨域的asmx,然后自己的网页访问自己网站的asmx。
  • 打赏
  • 举报
回复
不要使用不靠谱的jQuery调用,asp.net ajax本来就支持调用asmx。

http://msdn.microsoft.com/zh-cn/library/bb398998(v=vs.90).aspx
http://msdn.microsoft.com/zh-cn/magazine/cc163499.aspx

风之影子 2012-05-27
  • 打赏
  • 举报
回复
楼主我建议你断点调试一下。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧