使用JQuery,我将值传递给控制器中的一个动作。 customerId和productId不为空:
$.ajax({
type: "GET",
url: "Customer/Product/",
data: { Customer: customerID, Product: productId},
dataType: "json",
error: function (xhr, status, error) {
// you may need to handle me if the json is invalid
// this is the ajax object
},
success: function (json) {
$("#productName").innerHTML = json;
alert(json);
alert($("#startDate").innerHTML);
}
});
在MVC3控制器中,我有动作:
public ActionResult Product(string Customer, string Product)
{
//both are null
}
我不知道为什么两者都是空的?请指导
答案 0 :(得分:1)
MVC可能期待一个JSON字符串。尝试将此作为您的数据
data: JSON.stringify({ Customer: customerID, Product: productId})
答案 1 :(得分:1)
$.ajax({
type: "GET",
url: "Customer/Product/",
data: "Customer="+customerID +"&Product="+productId,
dataType: "json",
error: function (xhr, status, error) {
// you may need to handle me if the json is invalid
// this is the ajax object
},
success: function (json) {
$("#productName").innerHTML = json;
alert(json);
alert($("#startDate").innerHTML);
}
});
试试这种方式。
答案 2 :(得分:1)
如果您将其更改为“POST”请求,它应该可以正常工作。
然而,看起来您实际上只是想从服务器“获取”数据,这些数据应该真正在您的网址中进行编码,例如mysite.com/Customer/{customer_id}/Product/{product_id}。在这种情况下,您可能需要更改路由规则。
答案 3 :(得分:1)
我刚刚做了“文件 - >新项目”,只是添加了一个控制器并尝试直接使用:
var customerID = 42;
var productId = 4242;
$.ajax({
type: "GET",
url: "http://localhost:51622/Customer/Product",
data: { Customer: customerID, Product: productId},
dataType: "json",
error: function (xhr, status, error) {
// you may need to handle me if the json is invalid
// this is the ajax object
},
success: function (json) {
console.log(json);
}
});
它可以很好地绑定值,因此您可能需要抓取fiddler或类似的东西,并确保您实际上正在向服务器发送值。