Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我并没有从前端点击后端控制器中的api路由。我在做什么?_Javascript_C#_.net_Angular_Controller - Fatal编程技术网

Javascript 我并没有从前端点击后端控制器中的api路由。我在做什么?

Javascript 我并没有从前端点击后端控制器中的api路由。我在做什么?,javascript,c#,.net,angular,controller,Javascript,C#,.net,Angular,Controller,我得到了这个错误区域。不允许使用js:3243 POST 405方法 这是我的服务api调用 updateMessage(message: any) { console.log("at service") console.log(message) return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', message) } 当我收到console.log消息时,我会收到此消息 Object de

我得到了这个错误区域。不允许使用js:3243 POST 405方法

这是我的服务api调用

  updateMessage(message: any) {
    console.log("at service")
    console.log(message)
    return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', message)
  }
当我收到console.log消息时,我会收到此消息

Object
departments: 4
noteBody: "asdf"
weeks: SLGTime {year: 2020, week: 12, quarter: 1, weekEnding: "2020-01-18T00:00:00", lyweekEnding: "2019-01-19T00:00:00"}
__proto__: Object
因此,我知道我正在向后端的.net控制器发送信息。这是我的控制器方法。这是否可能未设置为正确接收角度信息

[HttpPost]
[Route("api/SlgCorpNotes/Edit")]
public void Edit([FromBody]object item)
{

    _SLGContext.Entry(item).State = EntityState.Modified;
    _SLGContext.SaveChanges();
}
更多有用的信息。这是我的命名空间和路由的名称

namespace mocHub2.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class SlgCorpNotesController : Controller
这是我正在发送的formgroup信息

this.optionsForm = new FormGroup({
  departments: new FormControl(),
  weeks: new FormControl(),
  noteBody: new FormControl()
})

我想这是什么,是我命名不正确的东西。抱歉,这是我的第一个.net/angular项目。通常我只是在razor视图和.NETMVC上

尝试将其作为JSON发送

return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', JSON.stringify(message));
并且您的方法主体应该具有以下类型的对象

public void Edit([FromBody]TypeOfObject item)

我手动创建了一个对象。新消息

我还必须放置HttpHeaders

const headers = new HttpHeaders()
  .set('Content-Type', 'application/json;charset=UTF-8')

let options = { headers: headers };
这里是更新的方法

updateMessage(message: any) {
    console.log("at service")
    console.log(message)
    //var newMessage = new CorpNotes(message['departments'], message['noteBody'], message['weeks'].weekEnding)
    //console.log(newMessage)
    //console.log(JSON.stringify(newMessage))
    var newMessage = {
      "Departments": message["departments"],
      "Note": message["noteBody"],
      "WeekEnding": message["weeks"].weekEnding
    }
    console.log(newMessage)
    const headers = new HttpHeaders()
      .set('Content-Type', 'application/json;charset=UTF-8')

    let options = { headers: headers };

    return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit',newMessage, options);
    //return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', JSON.stringify(newMessage))


  }

它仍然给我错误区域。js:3243 POST 405方法不允许仍然没有运气:我为正在发送和接收的对象创建了一个模型。它是一个具有一个int、一个datetime和一个字符串的对象。这应该很容易吧?我能够轻松地完成一个get post!尝试查看您的代码this.baseUrl+“api/SlgCorpNotes/Edit”是否创建了正确的URL。在浏览器的“网络”选项卡中,可以看到什么url用于进行API调用您是否已将CORS配置为允许HTTP选项动词?我将检查Steppup和Jonathon,我确定我有CORS,我能够为其他方法进行API调用,直到没有运气为止:我为发送和接收的对象创建了一个模型。它是一个具有一个int、一个datetime和一个字符串的对象。这应该很容易吧?我能够轻松地完成一个get post!