如何将纯文本发送到控制器
public ActionResult mappingNodes(string model) {
var test = model;
return Json(new { foo = "bar"});
}
通过邮寄方式:
$http.post("/msm/test/mappingNodes", postModel, { headers: { 'Content-Type': 'text/plain'}})
如果我选择postModel
字符串如“abc”或'{model : "abc"}'
,我会在控制器端获得null。
如果我将参数Content-Type
更改为application/jason
,如果postModel
设置为'{model : "abc"}'
postModel
,则我会在控制器端获得“abc”设置为“abc”我在errorCallback函数中得到错误状态Code 500。
答案 0 :(得分:1)
您应该将数据发送到javascript数组中的控制器,如下所示:
$http.post("/msm/test/mappingNodes", { model : postModel }, { headers: { 'Content-Type': 'text/plain'}})
注意,控制器model
中的参数名称必须与javascript数组中的键model
匹配。
答案 1 :(得分:0)
您可以使用服务器URL附加文本。
像这样:
$http.post("/msm/test/mappingNodes/yourtext", postModel, { headers: { 'Content-Type': 'text/plain'}})
或者,如果值在变量中:
$http.post("/msm/test/mappingNodes/" + value, postModel, { headers: { 'Content-Type': 'text/plain'}})
答案 2 :(得分:0)
通过查询字符串(url encoded):
$http.post("/msm/test/mappingNodes?postModel=" + postModel)
或将其包含在帖子数据中:
$http.post("/msm/test/mappingNodes", { postModel: "myvalue" })
答案 3 :(得分:0)
使用[FromBody]
参数属性
public ActionResult mappingNodes([FromBody]string model) {
var test = model;
return Json(new { foo = "bar"});
}
以下是客户端请求示例。
POST http://localhost:5076/msm/test/mappingNodes HTTP/1.1
User-Agent: Fiddler
Host: localhost:5076
Content-Type: text/plain
Content-Length: 5
"abc"