asmx、javascript、HTTP获取问题

asmx、javascript、HTTP获取问题,javascript,c#,jquery,parameters,get,Javascript,C#,Jquery,Parameters,Get,首先,我知道我应该使用HTTPPOST,我知道如何使用它。 但我的任务是无论如何使用httpget。现在,有一个问题。我有一个WebMethod: [WebMethod] [ScriptMethod(ResponseFormat=ResponseFormat.Json,UseHttpGet =true)] public List<string> AddToCollection(string name, string lastname)

首先,我知道我应该使用HTTPPOST,我知道如何使用它。 但我的任务是无论如何使用
httpget
。现在,有一个问题。我有一个
WebMethod

[WebMethod]
        [ScriptMethod(ResponseFormat=ResponseFormat.Json,UseHttpGet =true)]
        public List<string> AddToCollection(string name, string lastname)
        {
            collection.Add(name + " " + lastname);
            return collection;
        }

现在的问题是:当我使用type
POST
时,它工作得非常完美。但是使用
GET
时,我得到一个错误,即无法识别参数
name
。我应该做哪些更改才能使其正常工作?

我认为您需要将数据作为查询字符串添加到url中。不确定这是否帮助我解决了一个问题,稍后我将发布代码。但是,难道不能使用
GET
并传递
JSON
数据吗?HTTP规范不允许GET请求的主体。只有POST和PUT可以有正文。可能是重复的,依赖于您提供链接的帖子,GET请求允许有正文,但它没有用处,并且违反了一些HTTP原则。
function AddToArray() {
            var name = document.getElementById("name_add").value;
            var lastname = document.getElementById("surname_add").value;
            if (name == "" || lastname == "") {
                alert("Wrong!");
            } else {
                var dataT = JSON.stringify({"name":name,"lastname":lastname});
                $.ajax({
                    type: "GET",
                    url: "http://localhost:45250/ServiceJava.asmx/AddToCollection",
                    data: dataT,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        //something
                    }
                })
            }            
        }