首页 新闻 会员 周边

asp.net 发送的ajax 调用不到WebMethod 代码如下

0
[已解决问题] 解决于 2012-03-29 15:09

asp.net 发送的ajax 调用不到WebMethod ,调试的时候就没进入该方法内。求各位大仙帮忙看看,谢谢了……

前台代码如下:所在页面op_ckbm.aspx

$.ajax({
                    type: 'post',
                    url: 'op_ckbm.aspx/dw',
                    data: "{'bm_id':'" + $("#bm_id").val() + "','bm_mc':'" + $("#bm_mc").val() + "'}",
                    contentType: "application/json; charset=utf-8",
                    datatype: "json",
                    success: function(data) {
                        document.getElementById("jsz").innerHTML = data.d;
                    },
                    error: function() {
                    }
                });

后台代码如下:所在页面op_ckbm.aspx 代码文件op_ckbm.aspx.cs

    [WebMethod]
    public static string dw(string bm_id, string bm_mc)
    {
        string dw_mc = "";
        DataTable bm_table = DBHelper.DataTables("select dw_mc from bm_view_join_dw_view where bm_id='" + bm_id + "' and is_vaild=1 and is_current=1");
        string dw_id = "";
        if (bm_table.Rows.Count > 0)
        {
            dw_mc = bm_table.Rows[0][0].ToString() + ";" + bm_mc;
        }
        return dw_mc;
    }

阳光满天下的主页 阳光满天下 | 初学一级 | 园豆:184
提问于:2012-03-27 13:24
< >
分享
最佳答案
0

op_ckbm.aspx??

这是webservice地址吗?

奖励园豆:5
草根程序猿 | 初学一级 |园豆:129 | 2012-03-27 13:26

恩,是,这个是请求的地址,[WebMethod] 的地址

阳光满天下 | 园豆:184 (初学一级) | 2012-03-27 13:30

@阳光满天下: 后缀名应该是 asmx

草根程序猿 | 园豆:129 (初学一级) | 2012-03-27 13:32

@菜鸟程序猿: 现在这个是WebMethod,不是webservice,这个可以的,但是就是不知道哪错了,其他的都可以调用到

阳光满天下 | 园豆:184 (初学一级) | 2012-03-27 13:43

@阳光满天下: 你用FireBug看一下,有没有请求到那个地址,有没有其他错误信息

草根程序猿 | 园豆:129 (初学一级) | 2012-03-27 14:03
其他回答(3)
0
 function FindResult(result){
PageMethods.txtRoadSearchChange(
$("#ctl00_ContentPlaceHolder1_UCCSB091_ddlCity").val(),
$("#ctl00_ContentPlaceHolder1_UCCSB091_ddlArea").val(),
$("#ctl00_ContentPlaceHolder1_UCCSB091_txtRoadSearch").eq(0).val(),
function(result){
if(result!="")
$("#ctl00_ContentPlaceHolder1_UCCSB091_ddlRoad").val(result);
}
);

}
        [WebMethod]
public static string txtRoadSearchChange(string strCountyValue, string strCityValue, string TxtRoadSearch)
{
if (TxtRoadSearch.Trim() != "")
{
string RoadSearch = new CountryRoadDal().GetFirstCodeName(
strCountyValue,
strCityValue,
TxtRoadSearch);
if (!string.IsNullOrEmpty(RoadSearch))
return RoadSearch;
}
return "";
}



编辑器加载中...

無限遐想 | 园豆:3740 (老鸟四级) | 2012-03-27 14:53

谢谢了,知道什么地方出错了,

 var url1 = "user/op_ckbm.aspx?&bm_mc=" + bm_mcc;
            //alert(url1);
                $.setupJMPopups({
                    screenLockerBackground: '#003366',
                    screenLockerOpacity: '0.3'
                });
                $.openPopupLayer({
                    name: 'usr_select',
                    width: 450,
                    url: url1
                    //"user/op_ckbm.aspx?&bm_mc="+bm_mc
                });

用了这个插件,弹出窗口后再用ajax调用,路径写错了,没有请求到那个地址,非常感谢……

支持(0) 反对(0) 阳光满天下 | 园豆:184 (初学一级) | 2012-03-27 16:16
0

//后台代码

[WebMethod]
public string HelloWorld()
{
return "Hello World";
}

//前台代码

$.ajax({
type: "post",
datatype:"json",
url: "ajax.aspx/Hello",
contentType: "application/json",
success: function (result) {
alert(result.d);
}
});

 

 .net 3.5可以直接调用,如果是.net 2.0的话.要在web.config中的 的 <system.web> 节点下添加

<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>

以上代码经过本人测试可行

ia00.com | 园豆:568 (小虾三级) | 2012-03-27 15:55
0

没人知道原理吗?没人知道原理吗?很常见的问题呀!

黑眼小豆豆 | 园豆:201 (菜鸟二级) | 2017-11-16 20:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册