コントローラー クラスがあり、API で Get 呼び出しを開始できますが、POST コマンドを実行しようとすると、HTTP/1.1 415 Unsupported Media Type が発生します。
POSTを許可しなければならない場所はありますか?メソッドの前に [HttpPost] を配置しましたが、うまくいきませんでした。
public class initController : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>/5
public string Get(int id)
{
return "value";
}
// POST api/<controller>
[HttpPost]
public string Post([FromBody]string value)
{
oTree myT = new oTree();
myT.build(0);
myT.entity.question = value;
return JsonConvert.SerializeObject(myT);
}
// PUT api/<controller>/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/<controller>/5
public void Delete(int id)
{
}
}
JavaScript の郵便番号:
function gpRequest(service, verb, oData, callback) {
if (bool_cantransmit) {
bool_cantransmit = false;
var xdr;
var url = base_service_url + service + "/";
if (window.XDomainRequest) // Check whether the browser supports XDR.
{
xdr = new XDomainRequest(); // Create a new XDR object.
if (xdr) {
xdr.onerror = errorHandler;
xdr.onload = callback;
xdr.contentType = "application/json";
xdr.open(verb, url);
xdr.send(oData);
}
} else {
var xhr = new XMLHttpRequest();
xhr.onerror = errorHandler;
xhr.onload = callback;
xhr.open(verb, url, true);
xhr.send(oData);
}
}
}