c# - jQuery.ajax "data"参数语法

标签 c# javascript jquery asp.net ajax

我正在尝试将 JavaScript 变量的内容传递到服务器进行处理。我可以毫无问题地传递静态字符串,但是当我传递包含字符串的变量时,不会调用 WebMethod。这是我的代码: (客户端)

function expand(checkbox) 
{
    var selectedrow = checkbox.parentNode.parentNode;
    var rowindex = selectedrow.rowIndex;
    var parent = document.getElementById("parentTable");
    var NextRow = parent.rows[rowindex + 1];

    var cols = selectedrow.cells[1];
    var ID = cols.firstElementChild.attributes.value;


    $.ajax({
        type: "post",
        url: "Playground.aspx/childBind",
        data: "{sendData: ID}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function (result) { alert("successful!" + result.d); }
    })

    NextRow.style.visibility = "visible";
}

(服务器)

[WebMethod]
    public static string childBind(string sendData)
    {
        return String.Format("Hello");
    }

现在,如果我尝试 data: "{sendData: "ok"}",WebMethod 将被调用并返回响应。我的语法怎么错了?

最佳答案

您不必将其作为字符串传递。由于 ID 是一个 JavaScript 变量,因此您必须传递它的值。当您以 "{sendData: ID}" 形式传递数据时,它不会传递 ID 的值。

试试这个

data: { sendData: ID }

关于c# - jQuery.ajax "data"参数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7258933/

相关文章:

c# - 比较标志枚举的更好方法是什么?

c# - 在 Visual Studio 中将应用程序移动到另一台计算机时复制数据库文件

php - 从 HTML 页面(MS Word 类型页面)创建一本书

javascript - 组合对象值

javascript - 用 CSS 生成的图像替换输入字段中的文本

c# - 具有不同平台名称的.NET Core项目

c# - csom 上下文凭据安全

javascript - slickgrid 使用正则表达式验证列

java - 使用套接字进行数据传输。 Java 和 Firefox 扩展

javascript - jQuery 图像交换 - chrome 中的奇怪行为