问题描述
- 关于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啊
时间: 2024-12-09 17:43:05