相关疑难解决方法(0)

使用axios发送对象获取请求

我想发送一个带对象的get请求.将在服务器上使用对象数据来更新会话数据.但是这个对象似乎没有被正确发送,因为如果我尝试将其发回去打印出来,我只会得到:

" N; "

我可以用这样的jQuery来做它并且它有效:

 $.get('/mysite/public/api/updatecart', { 'product': this.product },  data => {     
              console.log(data);
           });
Run Code Online (Sandbox Code Playgroud)

该对象通过laravel从服务器发送回来,如下所示:

public function updateCart(Request $request){
      return serialize($request->product);
Run Code Online (Sandbox Code Playgroud)

同样的事情不适用于axios:

axios.get('/api/updatecart', { 'product': this.product })       
                .then(response => {
                    console.log(response.data);
            });
Run Code Online (Sandbox Code Playgroud)

我用axios设置了一个默认的baseURL,所以url是不同的.它正确到达api端点,函数返回发送的内容,这显然不是对象.结果我只得到" N ".

laravel vue.js axios

17
推荐指数
1
解决办法
2万
查看次数

Axios POST 请求不起作用

我知道有很多关于同样问题的问题,但没有一个解决方案对我有用。

我有一个使用 Lumen 内置 API 的 ReactJS 应用程序。该 API 也被React NativeJQuery AJAX 使用,并且在两者上都可以正常工作。

当我尝试从 ReactJS 发送带有 axios的POST请求时,我在OPTIONS请求中收到 405 Method Not Allowed 错误。

响应头 请求头

axios 请求是:

const body = { username, password };

axios.post(`{$uri}/payment/api/login`, {body})
     .then(res => console.log(res))
     .catch(err => console.log('Login: ', err));
Run Code Online (Sandbox Code Playgroud)

起初我认为这是一个 CORS 问题,这会很奇怪,因为我的 API 被托管在 AWS S3 上的静态站点使用,没有任何问题。所以我的 CORS 中间件工作正常。

比我尝试使用 fetchAPI 来调用 API 并且工作正常。我尝试从 axios向虚拟 API https://jsonplaceholder.typicode.com/users发送POST请求,并且工作正常。

编辑

好的,所以我刚刚发现 fetchAPI 以application/x-www-form-urlencoded格式发送数据,该格式不受飞行前请求的影响。这应该意味着 CORS 中间件存在问题。

CORSM中间件

<?php …
Run Code Online (Sandbox Code Playgroud)

api http-post reactjs lumen axios

5
推荐指数
1
解决办法
3万
查看次数

在 Asp.Net MVC 控制器中读取 Axios 获取参数

我正在使用 axios get 方法并将参数传递给 asp.net mvc 控制器。我可以读取单个值。但我试图将所有值作为一个对象一起读取。我没有视图模型,我正在尝试将 params 读取为通用对象。在 c# 控制器中用作参数的 axios params 数据类型是什么?我为 buildurl 创建了一个单独的方法并验证每个参数,但是有没有任何选项可以一次验证所有参数?

这有效

反应代码

export const GetRequestCall = () => {
  const getUrl = 'baseurl';

  return new Promise((resolve, reject) => {
    axios.get(getUrl, {
      params: {
        param1: 'abc',
        param2: 'efg'
      }
    })
      .then(response => {

      }).catch(error => reject(error));
  });
};
Run Code Online (Sandbox Code Playgroud)

C# 控制器代码

     //Read parameter as individual strings
        [HttpGet("[action]")]
        public async Task<string> GET(string param1, string param2)
        {
            try
            {  
                var url = BuildUri( param1, param2); 
             }
         }
Run Code Online (Sandbox Code Playgroud)

这没有用 …

c# asp.net-mvc reactjs axios

5
推荐指数
1
解决办法
3157
查看次数

标签 统计

axios ×3

reactjs ×2

api ×1

asp.net-mvc ×1

c# ×1

http-post ×1

laravel ×1

lumen ×1

vue.js ×1