如何从javascript(ajax)调用web服务
我有1个project webservice和1个project web asp.net 我想通过json(ajax)插入数据 我通过代码隐藏测试了文件服务,结果很好, 代码js有错误 文件WebService 1:如何从javascript(ajax)调用web服务,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我有1个project webservice和1个project web asp.net 我想通过json(ajax)插入数据 我通过代码隐藏测试了文件服务,结果很好, 代码js有错误 文件WebService 1: public bool HelloWorld(student obj) { SqlConnection cnn = new SqlConnection("Data Source=PHAMHOP-LAPTOP\\SQLEXPRESS;Initial Catalog=qlsv;
public bool HelloWorld(student obj) {
SqlConnection cnn = new SqlConnection("Data Source=PHAMHOP-LAPTOP\\SQLEXPRESS;Initial Catalog=qlsv;Integrated Security=True");
cnn.Open();
SqlCommand cmd = new SqlCommand("insert into sinhvien(name,age) values(@name,@age)", cnn);
cmd.Parameters.AddWithValue("name", obj.name);
cmd.Parameters.AddWithValue("age", obj.age);
int row = cmd.ExecuteNonQuery();
if (row == 1){
return true;
} else {
return false;
}
}
文件aspx:
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
function add() {
$.ajax({
type: "POST",
url: "http://localhost:51097/Service1.asmx/HelloWorld",
data: "{'id':'1' ,'name': 'Amit', 'age': '97'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("ok");
}
});
}
</script>
<body>
<input type='Button' value='gui' OnClick='add()'/>
</body>
函数add(){
$.ajax({
类型:“POST”,
url:“http://localhost:51097/Service1.asmx/HelloWorld",
数据:“{'id':'1','name':'Amit','age':'97'}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
警报(“正常”);
}
});
}
它不起作用。或者,您可以尝试将JSON作为字符串参数传递,而不是作为学生传递,并使用Newtonsoft或System.Web.Script.Serialization.JavaScriptSerializer对其进行反序列化
bool HelloWorld(string obj)
而不是
bool HelloWorld(student obj)
由于返回的数据不是
JSON
contentType:“application/JSON;charset=utf-8”,因此不需要数据类型:“JSON”、
,并且数据
选项不需要是字符串。将其作为对象传递
试试这个
function add() {
$.ajax({
type: "POST",
url: "http://localhost:51097/Service1.asmx/HelloWorld",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: {
id: 1,
name: 'Amit',
age: 97
},
success: function (msg) {
alert("ok");
}
});
}
尝试删除
contentType:“application/json;charset=utf-8”,数据类型:“json”,
它不起作用。发布从浏览器控制台收到的实际错误消息。它调用函数成功,但不调用服务,bro@Singh尝试将JSON作为字符串传递
-JSON是字符串“contentType”与返回的数据有什么关系?不是要指定发送到服务器而不是从服务器返回的数据吗?