我对MVC web api相当新,并试图让POST请求正常处理。它主要工作,但字符串值是HTML编码的。我认为这将自动处理,我发现无法手动执行此操作。
这是ajax请求:
$.ajax({
url: '/api/PulseStudies/UpdateTask',
type: 'POST',
data: { 'userID': userid, 'taskID': CurExamTaskID, 'comment': comment, 'complete': complete },
async: true,
...
以下是服务器端API:
[HttpPost]
public HttpResponseMessage UpdateTask(TaskResponse value)
{
Tasks.UpdateTask(value.userID, value.taskID, value.comment, value.complete);
return Request.CreateResponse(HttpStatusCode.NoContent);
}
public class TaskResponse
{
public int userID { get; set; }
public long taskID { get; set; }
public string comment { get; set; }
public bool complete { get; set; }
}
评论值是HTML编码的,例如" blah%20blah"。如何获得正确解码的值?
答案 0 :(得分:1)
我相信你的意思是它是UrlEncoded。在服务器端,您希望HttpServerUtility.UrlDecode()http://msdn.microsoft.com/en-us/library/6196h3wt(v=vs.110).aspx将其恢复。