繁体   English   中英

Ajax发布到C#代码

[英]Ajax post to C# code

编辑

因此,环顾四周后,我猜到了“正确的方法”。 它透过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调用时,它的确会返回“ This String”,但是当我使用它时,它会返回如下内容

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

它给我“ This String =”,但未添加参数。 我传递的数据错误吗? 还是我想念的东西?

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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM