我有如下所示的控制器:
public ActionResult Save(string input, string name) {
//Some code
return PartialView();
}
我需要一个对此控制器方法的ajax调用,并传递两个参数input和value
我的ajax调用如下所示:
$.ajax({
url: '/Home/Save',
type: 'POST',
async: false,
dataType: 'text',
processData: false,
data: "input=" + JSON.stringify(data) + "&name =" + $("#name").val(),
success: function (data) {
}
});
我无法将值传递给name参数。name参数中的值正在变为null。请帮帮我..提前感谢
发布于 2013-11-25 21:23:07
您正在进行HTTP POST,但试图使用GET查询字符串语法传递参数。在POST中,数据作为命名参数传递,并且不使用param=value&foo=bar
语法。使用jQuery的ajax方法可以创建一个带有命名参数的javascript对象,如下所示:
$.ajax({
url: '/Home/SaveChart',
type: 'POST',
async: false,
dataType: 'text',
processData: false,
data: {
input: JSON.stringify(IVRInstant.data),
name: $("#wrkname").val()
},
success: function (data) { }
});
发布于 2017-02-03 17:17:58
除了@xdumain发布的帖子之外,我更喜欢在ajax调用之前创建数据对象,这样您就可以对其进行调试。
var dataObject = JSON.stringify({
'input': $('#myInput').val(),
'name': $('#myName').val(),
});
现在在ajax调用中使用它
$.ajax({
url: "/Home/SaveChart",
type: 'POST',
async: false,
dataType: 'json',
contentType: 'application/json',
data: dataObject,
success: function (data) { },
error: function (xhr) { } )};
发布于 2016-08-15 23:30:42
我从这个问题中得到了帮助。
jquery get querystring from URL
所以让我们看看我们将如何使用这个函数
// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
现在只需在Ajax call
中使用它
"ajax": {
url: '/Departments/GetAllDepartments/',
type: 'GET',
dataType: 'json',
data: getUrlVars()// here is the tricky part
},
以上就是全部内容,但是如果您想知道how to use this function
或not send all the query string parameters
返回到actual answer
https://stackoverflow.com/questions/20193888
复制相似问题