0

编辑

所以在环顾四周后,我发现我猜是“正确的方式”。它使用 JSON.stringify 的组合并创建本文所述的模型。我仍然不明白为什么原来的方式不起作用,因为它与帖子中提到的第一个选项完全一样。哦,谢谢大家。

所以我的控制器中有一个非常简单的功能,它是我在 C# 中的 MVC 项目的一部分

public string myMethod(String something){
 return "This String"
}

这是我在 javascript 中的 ajax post 调用

.ajax({
 type: "POST",
 url: "myController/myMethod",
 data: data,
 dataType: text,
 success: function(results){
  console.log(results),
 }
});

当我进行 ajax 调用时,它确实返回了“这个字符串”,但是当我让它返回类似这样的东西时

 public string myMethod(String something){
  string ret = "This String = " + something 
 return ret
}

它给了我“这个字符串=”,但是参数没有被添加。我是否传递了错误的数据?还是我缺少什么?

4

2 回答 2

3

C# 方法是GET一个,所以一切都搞混了。

您应该让 C# 方法响应POST方法

[HttpPost]
public string myMethod(String something){
    return "This String"
}

或 ajaxGET请求(不过,您必须更改调用方式):

.ajax({
 type: "GET",
 url: string.Format("myController/myMethod?something={0}", data),
 dataType: text,
 success: function(results){
  console.log(results),
 }
});
于 2013-09-30T07:07:23.677 回答
0

尝试返回 JSON 结果:

[HttpPost]
public JsonResult returnthis(string text)
{
   return Json(new { Success = text},JsonRequestBehavior.AllowGet);
}
于 2013-09-30T07:14:53.430 回答