0

请帮忙,我被困在这里。我在将输入参数传递给我的 C# 控制器时遇到问题。我尝试了很多我在这里找到的东西,但仍然有一些错误。

这是代码:

  var a = $.ajax({        
    type:"GET",
    url: "/Weather1/Weather_get",
    data: "location=Paris%",
    contentType: 'application/json; charset=utf-8',
    cache: false, 
    success: function (data) {
        console.log(data);
    }, //succes
    error: function (data) {
        console.log(data);
    }//error
}) //ajax;

这是控制器:

[HttpGet]
public JsonResult Weather_get(String  location) etc etc...

我尝试的一切都给了我输入位置NULL。我知道我的控制器工作正常,因为我从中获取数据,但我确实需要这些数据用于特定位置,所以这就是我需要这样的原因。也不想将其更改为 POST,因为这是作业问题,所以我的控制器中必须同时具有 HttpPost 和 HttpGet 。

4

4 回答 4

1

只需在您的控制器中包含参数名称和您要像这样传递的值。

$.ajax({        
        type:"GET",
        url: '@Url.Action("Weather_get","Weather1")',
        data: { location:paris},
        dataType: 'json',
        cache: false, 
        success: function (data) {
            console.log(data);
        }, //succes
        error: function (data) {
            console.log(data);
        }//error
    }) //ajax;
于 2013-10-10T10:38:55.110 回答
1

尝试这个

 var place="Paris%";
 var a = $.ajax({        
    type:"GET",
    url: '@Url.Action("Weather_get","Weather1")',
    data: '{ "location":"' + place+ '"}',
    dataType: 'json',
    cache: false, 
    success: function (data) {
        console.log(data);
    }, //succes
    error: function (data) {
        console.log(data);
    }//error
}) //ajax;
于 2013-09-10T10:22:29.750 回答
0

ASP.Net 将 HTTP 请求 URL 绑定到控制器使用的模型的方式部分由路由引擎控制。

如果您导航到

/Weather1/Weather_get/Paris

你看到巴黎的数据了吗?

如果是这样,你可以这样修改你的 AJAX $.ajax({
type:"GET", url: "/Weather1/Weather_get/Paris" (etc.) })

于 2013-09-10T10:29:31.150 回答
0

您可能应该使用 JSON.stringify。

像这样的东西:

var data = {
   location: "Paris%"
};

var a = $.ajax({        
    type:"GET",
    url: "/Weather1/Weather_get",
    data: JSON.stringify(data),
    dataType: 'json',
    contentType: 'application/json',
    cache: false, 
    success: function (data) {
        console.log(data);
    }, //succes
    error: function (data) {
        console.log(data);
    }//error
}) //ajax;
于 2013-09-10T10:31:45.187 回答