简体   繁体   English

如何使用ajax将字符串数组传递给控制器​​?

[英]How to pass string array to controller using ajax?

// something defined deleteArr and pass values to it
var postData = { deleteArr: deleteArr };
if(deleteArr.length > 0)
    {
        $.ajax({
            url: "@Url.Action("Delete", "ASZ01")",
            type: "POST",
            data: postData,
            contentType: "application/json; charset=utf-8",
            success: function (response) {
                alert("success.");
            },
            error: function (response) {
                alert(deleteArr[0]);
            }
        });
        deleteArr.length = 0;
    }

The above code is javascript. 上面的代码是javascript。 Until $.ajax begin I can confirm that values in array is correct in immediate window,but when it comes to error: I got "undefined". 在$ .ajax开始之前,我可以确认立即窗口中数组中的值正确,但是遇到错误时:我得到了“未定义”。 And the following is my function in controller 以下是我在控制器中的功能

public void Delete(List<string> deleteArr)
    {
        service.Delete(deleteArr);
    }

The second question is that I set breakpoint on that function but it can't stop. 第二个问题是我在该函数上设置了断点,但是它无法停止。 I think maybe my ajax form is wrong? 我认为也许我的Ajax格式有误?

Stringify to JSON , add the dataType: 'json' and then pass and also correct your "" 字符串化为JSON ,添加dataType: 'json' ,然后传递并更正您的""

var postData = JSON.stringify({ deleteArr: deleteArr });

if(deleteArr.length > 0)
    {
        $.ajax({
            url: @Url.Action("Delete", "ASZ01"),
            type: "POST",
            data: postData,
            dataType: 'json'
            contentType: "application/json; charset=utf-8",
            success: function (response) {
                alert("success.");
            },
            error: function (response) {
                alert(deleteArr[0]);
            }
        });
        deleteArr.length = 0;
    }

Small change to your postData 对您的postData少量更改

var postData = { deleteArr: JSON.stringify(deleteArr) };

Idea is to convert your array data into string format ie:JSON and posting to the server, The default Model binder of MVC framework will handle the part to convert them into List<string> for you 想法是将数组数据转换为字符串格式(即:JSON)并发布到服务器,MVC框架的默认Model活页夹将为您处理将其转换为List<string>的部分

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何使用ajax传递字符串数组? - How to pass an array of string using ajax? 如何使用 AJAX 中的查询字符串将数据/值传递给 controller - How to pass data/value to controller by using query string in AJAX 如何使用ajax将javascript图像数组传递给Rails控制器 - how to pass javascript image array to rails controller using ajax 如何使用Ajax中的数据获取整数数组以传递给控制器 - how to get the integer array to pass to controller using data in ajax 使用ajax将数据字符串传递给控制器​​方法 - Pass Data string using ajax to controller method 无法使用Ajax将对象数组传递给控制器 - Unable to pass array of objects to controller using ajax 使用JQuery Ajax将Javascript数组传递给控制器 - Pass Javascript array to controller using JQuery Ajax 使用AJAX将javascript数组传递给CodeIgniter控制器 - Using AJAX to pass javascript array to CodeIgniter controller 我正在尝试使用 ajax 将数组从 controller 传递到 javascript 但它不会以数组形式返回,而是以字符串形式返回 - I'm trying to pass an array from controller to javascript by using ajax but it doesnt return as array it returns as a String 如何使用ajax调用获取数组列表数据(将数组列表数据控制器传递给ajax方法) - How to get array list data using ajax call (pass array list data controller to ajax method)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM