Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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时,某些问题页面有一个查询字符串_Javascript_Jquery_Asp.net_Ajax_Query String - Fatal编程技术网

Javascript 使用ajax时,某些问题页面有一个查询字符串

Javascript 使用ajax时,某些问题页面有一个查询字符串,javascript,jquery,asp.net,ajax,query-string,Javascript,Jquery,Asp.net,Ajax,Query String,我在ajax查询字符串方面有一些问题,如果页面没有,我可以发送数据,并且Info.aspx/Save工作得很好。但当我用查询字符串填充某些内容,然后发布相同的数据时,它将返回HTTP500错误。我在javascript中没有querystring,我在C#中使用它作为id 我只是在C#中使用querystring来填充输入。虽然我发送相同的数据,但它在GAE的地址栏中没有querystring,如果它在地址栏中有querystring,ajax会返回我http500错误,并且保存WebMetho

我在ajax查询字符串方面有一些问题,如果页面没有,我可以发送数据,并且
Info.aspx/Save
工作得很好。但当我用查询字符串填充某些内容,然后发布相同的数据时,它将返回HTTP500错误。我在javascript中没有querystring,我在C#中使用它作为id


我只是在C#中使用querystring来填充输入。虽然我发送相同的数据,但它在GAE的地址栏中没有querystring,如果它在地址栏中有querystring,ajax会返回我http500错误,并且
保存
WebMethod
不起作用。

数据类型必须是
对象,没有字符串

var data = {name: $("input[name$='name']").val() ,description:$("input[name$='description']").val(),code:$("input[name$='code']").val()};
删除contentType或将其更改为

"application/x-www-form-urlencoded; charset=utf-8"
然后

服务器端 json参数名称必须与c#参数名称相同

[WebMethod(true)]
public static string Save(string name, string description, string code)
{
    return name+" "+description+" "+code;
}
可用于
Web方法
查询字符串
(两者都适用)
查询字符串参数需要作为JSON传递

data: JSON.stringify({ "name": "name", "description": "description","code":"code" }),
contentType: "application/json; charset=utf-8"
服务器端

[WebMethod(true)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static String Save(string name, string description, string code)
{
}

问题是不完整的,你是如何发送数据的??如果说你试图以名称-值对的形式发送,那么它必须是一个json对象,它不能与使用URL调用时相同。我添加了一些东西,这就是你的意思?@user4065706-使用
json.stringify(数据)我在
webmethod Save(字符串名称、字符串描述、字符串代码)
中提供了参数。我使用querystring进行页面加载。它是一个web服务,因此不会在Querystring中传递参数。你给他的第一行代码可以解决他的问题-不需要其他代码,因为它不正确或指导他错误的方向。@Archer
url:“Info.aspx/Save”
它是
web服务吗?对于
web服务
数据必须是
JSON.stringify(数据)
[WebMethod(true)]
我的代码就足够了。谢谢(:抱歉-当然不是web服务-我的错。但是如果他想像在这个问题中那样将数据作为参数传递,那么他只需传递一个对象,jQuery就可以为他完成工作,所以不需要转换它。
[WebMethod(true)]
public static string Save(string name, string description, string code)
{
    return name+" "+description+" "+code;
}
data: JSON.stringify({ "name": "name", "description": "description","code":"code" }),
contentType: "application/json; charset=utf-8"
[WebMethod(true)]
[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Json)]
public static String Save(string name, string description, string code)
{
}