使用jquery的AJAX调用向控制器发送字符串参数
我有一个类似于ajax的调用使用jquery的AJAX调用向控制器发送字符串参数,jquery,Jquery,我有一个类似于ajax的调用 this.GetTransactionsInputToday = function () { var status="complete" $.ajax({ url: '/Management/function1', contentType: "application/json; charset=utf-8", da
this.GetTransactionsInputToday = function () {
var status="complete"
$.ajax({
url: '/Management/function1',
contentType: "application/json; charset=utf-8",
data: status,
type: 'GET',
cache: false,
success: function (result) {
return result;
}
});
}
我也试过这样做
this.GetTransactionsInputToday = function () {
var status="complete";
$.ajax({
url: '/Management/function1/' + status,
type: 'GET',
cache: false,
success: function (result) {
return result;
}
});
}
我的管理控制器类中有一个控制器函数
public JsonResult function1(string status)
{
Some code here..
}
问题是每次调用function1时,status的值都为null。
有人能告诉我哪里出了问题吗?您可能错误地构造了json参数 使用json:
数据:“{'prop1':'”+value1+“}”
尝试在ajax函数之外设置变量,然后返回它,这样它就在正确的范围内。此外,为了获得即时值,您需要使此ajax调用同步
this.GetTransactionsInputToday = function () {
var status = "complete";
var r = '';
$.ajax({
async : false,
url: '/Management/function1',
contentType: "application/json; charset=utf-8",
data: {'status' : status},
type: 'GET',
cache: false,
success: function (result) {
r = result;
}
});
return r;
};
您需要为发送的数据定义名称
数据:{'status':status}
:
this.GetTransactionsInputToday = function () {
var status="complete"
var r = '';
$.ajax({
url: '/Management/function1',
contentType: "application/json; charset=utf-8",
data: {'status': status},
type: 'GET',
cache: false,
success: function (result) {
r = result;
}
});
return r;
};
另外,您的
this.GetTransactionsInputToday
也不会像您预期的那样返回结果。异步调用ajax函数的成功处理程序。因此,您的returnr
语句将在Ajax请求完成之前调用时返回'。是否有方法实现此目的:func='getDetails';数据='数据负载';然后在$.ajax({…data:{func:data}。?现在它发送名为func的字符串,所以在php中是$\u POST['func'],我想将字符串内容作为名称发送给php,而不是'func',而是$\u POST['getDetails']。有什么想法吗?请更改标题,因为问题不在简单字符串之上
this.GetTransactionsInputToday = function () {
var status="complete"
var r = '';
$.ajax({
url: '/Management/function1',
contentType: "application/json; charset=utf-8",
data: {'status': status},
type: 'GET',
cache: false,
success: function (result) {
r = result;
}
});
return r;
};