嘿,我正在制作一个简单的web表单,将其作为产品详细信息插入网页。我试图插入使用ajax调用。没有ajax它的作品..但$ .ajax没有调用我的代码后面的静态方法,不知道wat是问题。下面的代码:在asp.net中调用使用ajax代码的方法
$(document).ready(function() {
$("#submit").click(function() {
var cat = document.getElementById('DropDownList1').value;
var nm = document.getElementById('name').value;
var cde = document.getElementById('code').value;
var dt = document.getElementById('dt').value;
var price = document.getElementById('price').value;
var f3 = document.getElementById('ty').innerHTML;
alert("you clicked " + cat + " - " + nm + "-" + cde + "-" + dt +
"-" + price + "-" + f3 + "-");
//////////////uptil here alert gives the right value.
$.ajax({
method: "POST",
contentType: "application/json",
url: "home.aspx/ins",
dataType: "json",
data: "{'Name :' + nm + 'code :' + cde +'category :'+ cat +
'date :'+ dt +'price :'+ pr +'img_name :' + f3}",
//data:"{}",
//async: false,
success: function (response) {
alert("User has been added successfully.");
window.location.reload();
}
});
})
});
//////////////////////////////// here is the code behind method:
[System.Web.Services.WebMethod]
public static void ins(string Name,string code,string category, DateTime date,
int price,string img_name)
{
productclass pc = new productclass();
pc.Pr_name = Name;
pc.Code = code;
pc.Category = category;
pc.Expiry = date;
pc.Price = price;
pc.Pr_image = img_name;
dalinsert di = new dalinsert();
bool flag = di.insert(pc);
}
可能是您的数据输入问题。尝试将您的输入构建为javascript对象,然后将其转换为带有JSON.stringify(变量)的字符串,以便安全和减少对您的工作。看起来更接近我认为是你的问题。你试图在一个字符串内连接。在做+之前,你没有终止你的“”。无论如何,JSON.stringify()通常更清晰。 – Taplar
oka会尝试它...但输入工作正常,因为我已经获得警报值。 oka thanks – Kam
您的提醒可以正常工作,因为您在那里正确连接(“某事”+“其他”)。但在你的数据中你正在做。 “'东西'+变量+'别的东西'”。字符串包围有“”,而不是“”在这种情况下,它必须是(“'某事'”+“'别的'”)。因此,基本上就像现在在数据部分中那样,+被视为文字而不是操作符。 – Taplar