将逗号分隔值发送到ajax调用

时间:2017-09-05 06:03:37

标签: javascript ajax

我有像12345,6789

这样的数组值

当尝试将这些值传递给java脚本ajax调用时,我得到了像checkedValues undefined.Kindly帮助如何将checked values数组传递给此函数中的ajax调用中的数据。

function Clicks() {
    var checkedValues = $('input[name="ActualId"]:checked').map(function () {
        return this.id;
    }).get();
    alert(checkedValues); 
    createdatatable();
}


function createdatatable(checkedValues, action) {
    debugger;
    var action = "Approve";
    $.ajax({
        type: "POST",
        url: "some url",
        data: JSON.stringify({ eventIds: checkedValues }),
        data: '{ checkedValues:"' + checkedValues + '" ,action:"' + action + }',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: true,
        cache: false,
        success: function (msg) {
            alert("yes");
        },
        error: function () {
            alert("No");
        }
    });
}

2 个答案:

答案 0 :(得分:1)

创建像这样的数据

data: { checkedValues: checkedValues , action: action },

或使用简短形式

data: { checkedValues, action },//if key:value name is same

也只使用一个数据参数

答案 1 :(得分:0)

删除+后的action字符。这是多余的。

$.ajax({
    type: "POST",
    url: "some url",
    data: JSON.stringify({ eventIds: checkedValues }),
    data: '{ checkedValues:"' + checkedValues + '" ,action:"' + action '}',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: true,
    cache: false,
    success: function (msg) {
        alert("yes");

    },
    error: function () {
        alert("No");
    }
});

您还可以从变量构建data 创建类似的东西:

var dataArgs = {
    checkedValues: checkedValues,
    action: action
};

然后只需将dataArgs对象传递给data键作为值。

$.ajax({
    type: "POST",
    url: "some url",
    data: JSON.stringify({ eventIds: checkedValues }),
    data: dataArgs,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: true,
    cache: false,
    success: function (msg) {
        alert("yes");

    },
    error: function () {
        alert("No");
    }
});