Ajax 发布到 C# 代码

本文关键字:代码 Ajax | 更新日期: 2023-09-27 18:33:13

>编辑

所以在环顾四周之后,我找到了"正确的方法",我想。 它使用 JSON.stringify 的组合并创建一个模型,如本文所述。我仍然不明白为什么原始方法不起作用,因为它与帖子中提到的第一个选项完全相同。哦,谢谢大家。

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

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

这是我在javascript中的ajax帖子调用

.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
}

它给了我"这个字符串=",但参数没有添加一些东西.我传递数据有误吗? 还是我错过了什么?

Ajax 发布到 C# 代码

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

应使 C# 方法响应POST方法

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

或 ajax 一个GET请求(不过,您必须更改调用它的方式):

.ajax({
 type: "GET",
 url: string.Format("myController/myMethod?something={0}", data),
 dataType: text,
 success: function(results){
  console.log(results),
 }
});

尝试返回 JSON 结果:

[HttpPost]
public JsonResult returnthis(string text)
{
   return Json(new { Success = text},JsonRequestBehavior.AllowGet);
}