我正在尝试调试一个托管在 Metro 服务器上的 react-native Android 应用程序,它通过 USB 连接到物理 android 设备(模拟器在我的机器上无法运行)。
在这个应用程序中,我使用 Axios 向 node express 本地服务器发出 post 请求,以在数据库中创建记录。
在 Postman 中,请求有效,我得到一个 202 成功代码。
当我尝试在移动应用中发出请求时,我得到 "response": "Failed to connect to /127.0.0.1:80"
当我记录我拥有的请求对象时:
{
"DONE": 4,
"HEADERS_RECEIVED": 2,
"LOADING": 3,
"OPENED": 1,
"UNSENT": 0,
"_aborted": false,
"_cachedResponse": undefined,
"_hasError": true,
"_headers": {
"accept": "application/json, text/plain, */*",
"client-ip": "IPv4 address"
},
"_incrementalEvents": false,
"_lowerCaseResponseHeaders": {},
"_method": "POST",
"_requestId": null,
"_response": "Failed to connect to /127.0.0.1:80",
"_responseType": "",
"_sent": true,
"_subscriptions": [],
"_timedOut": false,
"_trackingName": "unknown",
"_url": "http://127.0.0.1:80/node/incident",
"readyState": 4,
"responseHeaders": undefined,
"status": 0,
"timeout": 300000,
"upload": {},
"withCredentials": true
}
我的配置对象是
{
"adapter": [Function xhrAdapter
],
"data": {
"_parts": [
[Array
],
[Array
],
[Array
]
]
},
"headers": {
"Accept": "application/json, text/plain, */*",
"client-ip": "ipv4 address"
},
"maxContentLength": -1,
"method": "post",
"timeout": 300000,
"transformRequest": [
[Function transformRequest
]
],
"transformResponse": [
[Function anonymous
]
],
"url": "http://127.0.0.1:80/node/incident",
"validateStatus": [Function validateStatus
],
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN"
}
而且我没有响应对象。
我听说过启用 CORS,但我不确定如何在 react-native 应用程序上执行此操作,但我已在 express 应用程序上启用了:
const app = express();
app.use(cors())
抱歉问这些问题,我在这里取了别人的代码。
有谁知道我必须做什么才能使应用程序的请求成功