为了账号安全,请及时绑定邮箱和手机立即绑定

当我调用 post 方法(get 方法工作正常)时,反应本机 Axios 或 fetch 后参数在服

当我调用 post 方法(get 方法工作正常)时,反应本机 Axios 或 fetch 后参数在服

PHP
拉丁的传说 2023-07-15 18:38:34
当调用 post 方法时,在服务器端获取空参数(PHP - Codeigniter)。当我使用JSON.stringify它时,它正在工作,但在服务器端,我必须使用有效负载处理请求($request_body = file_get_contents('php://input'))到目前为止还可以,问题是当我尝试上传文件(视频/图像)时,有效负载不支持.所以如果我使用表单数据,它会抛出网络错误,这意味着 Axios 甚至没有访问服务器。我已经从 javascript、php 和 postman 测试了相同的服务,所有这些都工作正常,只是反应本机调用失败了那又怎样?这是解决方案,我已经尝试了三天了,通过更改标题内容是一种不同的方式,但仍然无法理解。下面给出以下代码   // alert('check ');    // const res = DocumentPicker.pick({    //     type: [DocumentPicker.types.allFiles],    // }).catch(error => {    //     alert('doct' + error);    // });    //Printing the log realted to the file      const imageUrl = 'https://image.shutterstock.com/image-photo/floral-spring-natural-landscape-wild-260nw-1274207287.jpg';    // if (true) {    // const fileToUpload = res;    const formData = new FormData();    formData.append('name', 'Image Upload');    formData.append('file_attachment', {        uri: imageUrl,        type: "image/jpg",        name: 'floral-spring-natural-landscape-wild-260nw-1274207287.jpg'    });    Axios({        url: URL + '/VideosController/upload',        method: 'POST',        data: formData,        headers: {            'Accept': 'application/json',            'Content-Type': 'multipart/form-data'        },    }).then(        response => {            alert('res' + JSON.stringify(response.data));        },        error => {            alert('check+ ' + error);        })        .catch(error => {            alert('No error' + error);        });当我使用 formdData 时出错:错误=错误:EventTarget.handleError(http://localhost:8081/index.bundle?platform=android&dev=true&minify=false:155044:17)处出现网络错误(http://localhost:8081/index.bundle? platform=android&dev=true&minify=false:154946:16) 在 EventTarget.dispatchEvent (http://localhost:8081/index.bundle?请解释实际发生的情况以及解决方案。
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

最后,我通过将 FLIPPER_VERSION 升级到 0.41.0 找到了解决方案,这个问题得到了解决,但如果我升级了应用程序,甚至无法为我打开。所以现在我所做的是在下面的文件中我只是对这些行进行了评论。为我工作。

\android\app\src\debug\java\com\appname\ReactNativeFlipper.java

public void apply(OkHttpClient.Builder builder) {
            //  builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin));
            }

如果你想更新 Flipper 版本,可以在 ..\android\gradle.properties 找到


查看完整回答
反对 回复 2023-07-15
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

首先,您需要增加服务器端的有效负载限制,但仍然会导致问题,然后提及详细信息。



查看完整回答
反对 回复 2023-07-15
  • 2 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信