ASP.NET MVC4 Web API应用程序定义了保存客户的post方法.客户在POST请求正文中以json格式传递.post方法中的customer参数包含属性的空值.
如何解决这个问题,以便发布的数据作为客户对象传递?
如果可能的话Content-Type:application/x-www-form-urlencoded应该使用,因为我不知道如何在发布表单的javascript方法中更改它.
控制器:
public class CustomersController : ApiController {
public object Post([FromBody] Customer customer)
{
return Request.CreateResponse(HttpStatusCode.OK,
new
{
customer = customer
});
}
}
}
public class Customer
{
public string company_name { get; set; }
public string contact_name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
请求:
POST http://localhost:52216/api/customers HTTP/1.1
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
{"contact_name":"sdfsd","company_name":"ssssd"}
Run Code Online (Sandbox Code Playgroud) 我还需要返回包含成功值(true或false)的JSON数据,它也需要有结果消息.
所以我使用Dictionary来包含数据,但当它返回Jason数据时,它包含""(Quot).
JsonResult = new Dictionary<string, string>();
JsonResult.Add("Success", "False");
JsonResult.Add("Message", "Error Message");
return Json(JsonResult);
Run Code Online (Sandbox Code Playgroud)
它回来了,
{"Success":"False","Message":"Error Message"}
Run Code Online (Sandbox Code Playgroud)
但是我需要,
{Success:False,Message:"Error Message"} //with out "" (Quot)
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
谢谢!
我有一些/jobs/GetIndex在MVC项目中引用的javascript .当我在本地运行它时,这很有效,因为我有一个Controller被调用的JobsController.当我部署它时,我将应用程序部署到'Jobs'子文件夹,这意味着URL应该成为http://site/jobs/jobs/GetIndex但它会发生http://site/jobs/GetIndex,我认为因为javascript不知道"根URL"是什么,并使用该网站作为根.如何让它在两种环境中都能正常工作?