【问题标题】:How to get data from Ajax如何从 Ajax 获取数据
【发布时间】: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


【解决方案1】:
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",
    dataType:'json',
    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");
    }

});

【讨论】:

  • 你能解释一下 OP 的代码有什么不同吗?
  • 编写你的响应函数,如:var arr = $.parseJSON(response.d);
猜你喜欢
  • 2023-03-22
  • 2023-03-11
  • 2017-07-30
  • 2018-08-05
  • 1970-01-01
  • 2021-11-15
  • 2015-07-21
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多