如何将javascript对象传递给webmethod

How pass javascript object to webmethod

本文关键字:webmethod 对象 javascript      更新时间:2023-09-26

我想简单的文件下载方法。

我的班级是:

public class TestClass
{
    public string StringParam { get; set; }
    public int IntParam{ get; set; }
}

我的网络方法:

public void MyExport(TestClass exportArg)
{
     //do something
}

我可以使用ajax将javascript对象作为TestClass对象传递给Web方法

var params = {};
params['StringParam '] = 'asd';
params['IntParam'] = 5;
$.ajax({
            type: 'POST',
            url: 'Home/MyExport',
            async: false,
            dataType: 'json',
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify(params)
        });

但是当我尝试使用 window.open exportArg 参数为空时。如何使用 window.open 将 javascript 对象传递给 web 方法

window.open('Home/MyExport?exportArg=' + JSON.stringify(params));

您的方法需要POST请求,方法是将值追加到查询字符串上并在执行GET请求时调用window.open

您无法使用 window.open 执行POST。有一些解决方法,您可以在此问题和答案中找到它们:Window.Open POST