【发布时间】:2015-02-16 06:43:50
【问题描述】:
我有一个名为sid 的变量,它处理座位数。我想将sid 扔给TryJSON.aspx 方法test。然后我想在方法测试上操作数据,然后将结果返回给这个 ajax。但是当我尝试抛出 sid
var sid = jQuery(this).attr('id');
console.log(sid);
$.ajax({
url: "TryJSON.aspx/test",
type: "POST",
data: JSON.stringify({ 'noSeat': sid }),
contentType: "application/json; charset=utf-8",
success: function (response) {
var arr = JSON.parse(response.d);
console.log(arr);
},
error: function () {
alert("sorry, there was a problem!");
console.log("error");
},
complete: function () {
console.log("completed");
}
});
这是我接收 noSeat 的 C# 代码
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public static string test(string noSeat)
{
// return noSeat;
//JavaScriptSerializer serializer = new JavaScriptSerializer();
// return new JavaScriptSerializer().Serialize(new { noSeat = noSeat });
}
我尝试只返回 noSeat 和 Javascript 序列化程序。但它有一个错误。它说
尝试使用 POST 请求调用方法“test”,这是不允许的。
我已经试过了
返回“成功!!”
但它没有出现在控制台上并且仍然是同样的错误。 怎么了?
【问题讨论】:
-
将类型:“POST”更改为:“GET”应该可以解决问题
-
"Invalid web service call, missing value for parameter: 'noSeat'."当我 cheng 到GET它给出了另一个错误。我检查控制台上的选项卡参数它给了{"noSeat":"4-2"}我的意思是它不是空值@ManishParakhiya -
ScriptMethodAttribute 指定 UseHttpGet = true。尝试删除此参数,或将其设置为 false。这就是阻止 POST 工作的原因。
标签: javascript c# asp.net ajax json