Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从javascript(ajax)调用web服务_Javascript_C#_Jquery_Asp.net_Ajax - Fatal编程技术网

如何从javascript(ajax)调用web服务

如何从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;

我有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;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”与返回的数据有什么关系?不是要指定发送到服务器而不是从服务器返回的数据吗?