你好,我有一个轻微的问题,我尝试在c#中调用一个函数抛出ajax但它不起作用我尝试evrey的东西但仍然没有什么可以一个人PLZ告诉我什么是错的
function Save(ID, FullId) {
var code ="1234"// prompt("הכנס סיסמא", "סיסמא");
var flag = 2;//subcatgory
var catname='';
if (code == "1234") {
if (FullId == "tdcatid" + ID){
flag = 1; //catgory
}
catname=$('#'+FullId).val();
$.ajax({
async: false,
type: "POST",
url: "admins.aspx/SaveCondition",
data: '{catId: ' + ID + ',catFlag:' + flag + ',catName: ' + catname + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
}
});
服务方
[System.Web.Services.WebMethod]
public static int SaveCondition(int catId, int catFlag, string catName)
{
int answer=(int) Dbhelper.ExecuteScalar("server=MY_COMP\\AMIT;database=IDEAS;Trusted_Connection=True",
"sp_save_catgory_and_sub",
new SqlParameter("@caname", catName),
new SqlParameter("@catid", catId),
new SqlParameter("@flag", catFlag)
);
return answer;
}
答案 0 :(得分:0)
我认为您可能缺少数据参数的引号,并且框架无法正确反序列化json对象(即签名上的类型):
data: '{catId: "' + ID + '",catFlag:"' + flag + '",catName: "' + catname + '"}',
(你真的需要它们围绕字符串参数catname ...)
另外,可能是您粘贴了部分代码,但是您在(2)
处缺少右括号