使用AJAX将数据从HTML表单提交到WebMethod [英] Use AJAX to submit data from HTML form to WebMethod
问题描述
所以我要从HTML表单中获取数据,然后使用AJAX将数据发送到Web方法,然后再发送到sqlite数据库,但是我的AJAX调用失败.我搞砸了什么?我做得对吗?
So I'm taking in data from an HTML form and then using AJAX to send the data to a web method to then be sent to a sqlite database, but my AJAX call is failing. What did I mess up? Am I doing it correctly?
HTML表单
<form id="addForm" >
<input type="text" name="playername" id="playername" placeholder="Player"/>
<input type="text" name="points" id="points" placeholder="Points" />
<input type="text" name="steals" id="steals" placeholder="Steals" />
<input type="text" name="blocks" id="blocks" placeholder="Blocks" />
<input type="text" name="assists" id="assists" placeholder="Assists" />
<input type="text" name="mpg" id="mpg" placeholder="MPG" />
<input type="text" name="shotpct" id="shotpct" placeholder="Shot %" />
<input type="text" name="threepct" id="3pct" placeholder="3 %" />
<input type="button" value="add player" id="addbtn" name="addbtn" />
</form>
AJAX
$("#addbtn").click(function () {
var form = $("#addForm").serializeArray();
$.ajax({
type: 'POST',
url: "players.aspx/addRow",
data: JSON.stringify(form),
dataType: 'json',
success: function () {
alert('success');
},
error: function () {
alert('failure');
}
});
});
和网络方法(尚未完成,只是在测试以查看我是否正在获取数据)
and the web method(not finished, was just testing to see if I was getting data)
[WebMethod]
public static void addRow(object form)
{
var stuff = form;
}
我仍在学习如何使用大量此类内容,因此将不胜感激任何帮助.
I'm still learning how to use a lot of this stuff so any help will be greatly appreciated.
推荐答案
替换
type: 'POST',
使用
method: 'POST',
dataType:"json" 不需要,因为您没有收到数据.从服务器返回的数据将根据dataType参数进行格式化.
dataType: 'json' is not needed since you're not receiving data back. The data returned from the server, is formatted according to the dataType parameter.
还删除JSON.stringify(form),这已经通过.serialize()完成了;
Also remove JSON.stringify(form),this is already done with the .serialize();
这篇关于使用AJAX将数据从HTML表单提交到WebMethod的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!