【发布时间】:2018-12-11 10:24:05
【问题描述】:
我的代码 int 客户端:
var formData = new FormData();
formData.append("ID", "1");
formData.append("Name", "Gà Haha");
console.log(formData.get("ID"));
$.ajax({
type: "POST",
url: "http://localhost:13497/myapi/student",
contentType: "json",//Request header
data:formData,
dataType: "json",//Responce header
processData: false,
success: function (data) {
$.each(data, function (key, value)
{
var jsonData = JSON.stringify(value);
var objData = $.parseJSON(jsonData);
var id = objData.ID;
var fname = objData.Name;
var lname = objData.Price;
$('<tr><td>' + id + '</td><td>' + fname + '</td><td>' + lname + '</td></tr>').appendTo('#students');
});
},
error: function (errormsg) {
alert(errormsg.responseText);
}
});
我在服务器中的代码:
[HttpPost]
public IEnumerable<Products> GetStudents()
{
string temp=HttpContext.Current.Request.Params["ID"];
return temp;
}
但 temp 返回 null。我正在使用How can retrieve string formData js in c#,但返回空,这里How to read FormData into Web api,但它不起作用。
最后:我想从 FormData 客户端获取数据发送
【问题讨论】:
-
尝试在您的 ajax 调用中隐藏
contentType: "json",和dataType: "json",并告诉我 -
试过了!但它不起作用
-
您的 ajax url 包含
student但不存在任何具有此名称的 api。如果你想打GetStudents,然后在url中用GetStudents替换student -
我发现我的错误。也许原因是 URL 友好,所以,我评论 URL 友好。但我不知道回调我的功能。请帮帮我
-
首先您应该修正您的请求并确保它作为具有正确标题的表单数据发送。您可以阅读有关内容,例如在这里:stackoverflow.com/questions/6974684/… 并使用您的浏览器开发工具进行检查。
标签: c# post asp.net-web-api form-data