【问题标题】:Vue sends a null parameters in object in axios post requestVue在axios post请求的对象中发送一个空参数
【发布时间】:2022-01-18 15:53:36
【问题描述】:

正如标题所说,问题是我使用 axios 从 Vue 发送一个请求,该请求在我发送参数时包含参数数据(我使用 console.log 看到它),但是当我收到请求时C# (.NET Core) 这些参数为空。 如果需要更多信息或代码,请告诉我。

谢谢。

Vue:

methods: {
    translate() {
      //This log RETURNS DATA, so parameters aren't null at this moment
      console.log(this.textToTranslate, this.fromLanguage, this.toLanguage);
      axios
        .post(
          "http://localhost:5000/api/Translate",
          {
            TranslateRequest: {
              textToTranslate: this.textToTranslate,
              fromLanguage: this.fromLanguage,
              toLanguage: this.toLanguage,
            },
          },
          {
            headers: {
              "Access-Control-Allow-Origin": "*",
              "Access-Control-Allow-Methods":
                "GET, POST, PATCH, PUT, DELETE, OPTIONS",
              "Access-Control-Allow-Headers":
                "Origin, Content-Type, X-Auth-Token",
            },
          }
        )
        .then((res) => {
          console.log(res);
          this.translatedText = res.data;
        })
        .catch((err) => {
          console.log(err.response);
          alert(err.response);
        });
    },
  },

C#:

    [ApiController]
    [Route("api/[controller]")]
    public class TranslateController : ControllerBase
    {
        [EnableCors("AllowOrigin")]
        [HttpGet]
        public string GetTranslatedText(TranslateRequest request)
        {
            //request object isn't null but their parameters are
            return TranslateText(request);
        }
     }

【问题讨论】:

  • 我不是 C# 专家,但请尝试在此处查看此解决方案:stackoverflow.com/a/59834834/1231619 此外,您不应该传递 Access-Control-Allow-* 标头,因为这些是响应来自服务器的标头。
  • @Igal 你说得对,谢谢,这只是我必须面对的解决 CORS 问题的一系列尝试的结果。

标签: c# .net vue.js asp.net-core axios


【解决方案1】:

你的问题在这里:

{
    "TranslateRequest":{
        "textToTranslate":"this.textToTranslate",
        "fromLanguage":"this.fromLanguage",
        "toLanguage":"this.toLanguage"
    }
}

传递数据如下:

{
    "textToTranslate":"this.textToTranslate",
    "fromLanguage":"this.fromLanguage",
    "toLanguage":"this.toLanguage"
}

【讨论】:

    猜你喜欢
    • 2019-02-02
    • 1970-01-01
    • 2019-04-26
    • 2018-04-13
    • 1970-01-01
    • 2021-03-16
    • 2021-05-22
    • 2019-02-12
    • 2023-03-25
    相关资源
    最近更新 更多