当前位置: 首页 > 知识库问答 >
问题:

本地laravel API上的Nativescript Vue axios调用错误[请求失败,状态代码为null]

史懿轩
2023-03-14

我对Nativescript相当陌生,在我的项目中,我试图向我的本地laravel服务器发出超文本传输协议请求,我在http://127.0.0.1:8000/上设置了php artisan,我使用连接的android设备,没有模拟器。经过一些阅读,我得到了带有ipconfig命令的本地IPv4。

在我的App.vue组件中,我使用axios向本地laravel APIendpoint发出GET请求:

这不工作:

console.log('Firing axios call');
axios.get('http://192.168.1.35:8000/api/posts')
.then((response) => {
    console.log('It worked! /////////////////////////////////////////');
}).catch((err)=>{
    console.log('God dammit',err);
});

但我总是犯错误:

'God dammit' [Error: Request failed with status code null]

在laravel中,这是我的控制器方法,它响应/api/posts

public function list(Request $request)
    {
        $posts = Post::with(['postcategory','author'])
            ->latest()
            ->paginate($request->input('paginate', 10));

        return response()->json([
            'data' => $posts,
            'pagination' => [
                'total' => $posts->total(),
                'per_page' =>$posts->perPage(),
                'current_page' => $posts->currentPage(),
                'last_page' => $posts->lastPage(),
                'from' => $posts->firstItem(),
                'to' => $posts->lastItem()
            ]  
        ]);
    }

我尝试了httpbinendpoint,我得到了回复,它可以工作,但我的laravel API从来没有工作过......

这确实有效:

axios.get('https://httpbin.org/get')
.then((response) => {
   console.log('success');
   console.log(response.data);
}).catch((err)=>{
   console.log(err);
});

并返回:

{ args: {},
JS:   headers:
JS:    { Accept: 'application/json, text/plain, */*',
JS:      'Accept-Encoding': 'gzip',
JS:      Host: 'httpbin.org',
JS:      'User-Agent': 'Dalvik/1.6.0 (Linux; U; Android 4.4.4; GT-I9060I Build/KTU84P)' },
JS:   origin: '79.152.179.88, 79.152.179.88',
JS:   url: 'https://httpbin.org/get' }

知道我做错了什么吗?

共有1个答案

陈增
2023-03-14

由于您使用的是http,因此需要将其添加到app/app_Resources/Android/src/main/AndroidManifest中。应用程序标记中的xml:android:usesCleartextTraffic=“true”

像这样:

<application ...
    android:usesCleartextTraffic="true"
 类似资料:
  • 我正试图通过Axios在本地发送一个POST请求,其中包含用户名和密码。 我正在部署一个Flask应用程序http://127.0.0.1:5000/login,它处理/login路由。POST请求失败,出现以下错误 我研究了一点,认为这可能是CORS的问题,但情况似乎并非如此,因为我尝试了一个Axios GET请求,它工作正常(响应记录正确)。这是我的部分代码 查看ChromeDevTools,

  • 我想按照指示去做:https://strapi.io/blog/building-a-static-website-using-gatsby-and-strapi#allowaccess 但遇到错误:请求失败,状态代码404 Node.js版本:v10.13.0 npm版本:6.14.6 Strapi版本:3.1.0-alpha.5操作系统:mac 哪个例子造成了问题?strapi.io/blog

  • 我使用axios与自己的API(不是用NodeJS编写的)通信。 当我发布一个非简单的请求时,axios总是直接转到控制台中显示网络错误的catch块,即使有2个成功的Http请求。 错误:网络错误堆栈跟踪:createerror@http://localhost:3000/statist/js/bundle.js:1634:15 handleerror@http://localhost:3000

  • 我对laravel是个新手,我总是在浏览器控制台中收到这个错误消息 源地图错误:请求失败,状态404 资源地址:超文本传输协议://[myurl]/js/app.js 源地图地址:popper.js.map 我不知道问题出在哪里。当我尝试访问应用程序时。js文件通过URL工作。 我有第二个项目与完全相同的设置,我没有得到任何错误。我不知道我错过了什么。

  • 问题内容: 好的,我已经到处寻找了。基本上,我们使用的是跨域请求的$ http请求。我们的服务器允许该域,当请求返回200时,一切正常。但是,无论何时我们的服务器返回错误500、401,无论如何,Angular都认为这是CORS问题。 我用Fiddler调试了响应,以验证服务器是否返回了500,但Angular阻塞了。 这是请求: 然后在控制台中,我将看到: XMLHttpRequest无法加载f

  • 在函数方法POST中,当表单提交时,它不起作用。我有错误: xhr.js?b50d POST https://app/login 400(错误请求) 错误:请求失败,在createError(createError.js?2d83)处,在xmlHttpRequest.handleLoad(xhr.js?B50d)处,在settle(settle.js?467f)处,状态代码为400 登录 在邮递员