我在窗体上有几个文本框,当用户提交时,我想捕获数据并将其插入到数据库中。使用jQuery/Ajax/JSON从FORM捕获数据
这里是我的代码看起来像
// Called just before the form is submitted.
beforeSubmit: function(data)
{
var item = $("[id$='item']");
var category = $("[id$='category']");
var record = $("[id$='record']");
var json = "{'ItemName':'" + escape(item.val()) +
"','CategoryID':'" + category.val() + "','RecordID':'" + record.val() + "'}";
//This page is where data is to be retrieved and processed.
var ajaxPage = "DataProcessor.aspx?Save=1";
var options =
{
type: "POST",
url: ajaxPage,
data: json,
contentType: "application/json;charset=utf-8",
dataType: "json",
async: false,
success: function(response)
{
alert("success: " + response);
},
error: function(msg)
{
alert("failed: " + msg);
}
};
//Execute the Ajax call and get a response.
var returnText = $.ajax(options).responseText;
if (returnText == 1) {
record.html(returnText);
$("#divMsg").html("<font color=blue>Record saved successfully.</font>");
}
else
{
record.html(returnText);
$("#divMsg").html("<font color=red>Record not saved successfully.</font>");
}
// $("#data").html("<font color=blue>Data sent to the server :</font> <br />" + $.param(data));
},
这里是数据发送到服务器:如果我取消注释以下行。
// $("#data").html("<font color=blue>Data sent to the server :</font> <br />" + $.param(data));
__VIEWSTATE=%2FwEPDwULLTE4ODM1ODM4NDFkZOFEQfA7cHuTisEwOQmIaj1nYR23&__EVENTVALIDATION=%2FwEWDwLuksaHBgLniKOABAKV8o75BgLlosbxAgKUjpHvCALf9YLVCgLCtfnhAQKyqcC9BQL357nNAQLW9%2FeuDQKvpuq2CALyveCRDwKgoPWXDAKhwImNCwKiwImN &day_fi=12&month_fi=12&year_fi=1234&lastFour_fi=777&countryPrefix_fi=1&areaCode_fi=555-555&phoneNumber_fi=5555&email_fi=nisardotnet%40gmail.com&username=nisarkhan&password=123456&retypePassword=123456
Hi Rob, 是的我正在C#VS 2008 asp.net上工作 - 谢谢。 – 2010-04-13 17:26:23
Rob,我已经测试过你的解决方案,但是当我尝试将webmethod放入类中时,它就会失败。你有没有尝试把类中的updateDb,看看? 这里是错误信息: HTTP错误403 - 禁止。 var url =“App_Code/WebMethods.cs/updateDB”; 或 var url =“WebMethods.cs/updateDB”; – 2010-04-16 00:27:54
Abu - 你不能直接从类文件调用web方法。从字面上看,这是禁止的!你只能从jQuery.ajax调用一个aspx页面(或asmx,但它很麻烦)。所以,你可以把这个方法放在一个类文件中,但是你需要在你的aspx页面上使用另一个web方法(或者它的代码),你可以从jQuery.ajax调用它。那有意义吗? - 我已经在 – LiverpoolsNumber9 2010-04-16 02:44:05