关于ajax调用后控制器方法问题!

 $("#Sea").click(function(){
            var Search = $("#Search").val();
            alert(Search);
            $.ajax({
                type: "get",
                url: "@SiteConfig.ProductSite/ProductList.aspx",
                jsonpCallback: "__ProductList__", //回调方法
                dataType: "json",                        //跨域调用数据协议
                data: { Sear: Search },   //自定义参数名,值
                });
            })
  public ActionResult ProductList(string catagoryId, int pageNo, ProductFilterModel filterModel, string Sear)
        {
            catagoryId = "001.001";
            pageNo = 1;
            Response.Cache.SetOmitVaryStar(true);           
            var pager = new PagerModel(pageNo, 12);

            int MemberType=2;
            if (MemberInfo !=null  && (MemberInfo.MemberType) != 0 )
            {
                MemberType = MemberInfo.MemberType;
            }
            var dt = new ProdSkuProductSystem().SelectProdSkuProductByOptionValueIds(catagoryId, filterModel.ToList(),MemberType,Sear,pager); //筛选属性查询

通过前台AJax 传输一个Search参数过来, 用debugger能运行下去,但是没有调用成功,值没有传到后台,URL地址放到浏览器里面能直接运行,没明白到底哪里出问题了,运行不了!

 dataType: "json", 
 是
 dataType: "jsonp", 吧

你传的是json格式,但是{}里面不是键值对啊。见应该用“”括起来

$.ajax({
type: "get",
url: "@SiteConfig.ProductSite/ProductList.aspx",
dataType: "json",

data: { "Sear": Search }, //自定义参数名,值
success:function(data){
alert("成功");
},
error:function(){
alert("失败");
}
});
})
试试这样行不行

data: { Sear: Search }, 这不是json啊