首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么axios返回的responseURL与请求的url不同?

为什么axios返回的responseURL与请求的url不同?
EN

Stack Overflow用户
提问于 2021-01-05 08:23:39
回答 1查看 51关注 0票数 2

我正在从我的React Native应用程序向我的本地服务后端发出Axios GET请求。

响应"config“对象显示"baseURL”为"http://192.168.1.68:8080/api“和"url”为"inventory?status=ALL&barcode=127035838“。

request对象的响应显示了http://192.168.1.68:8080/api/inventory?status=ALL&barcode=127035838_url

然而!response "responseURL“属性显示值"http://192.168.1.68:8080/api/inventory?status=ALL&barcode=127035838%1D”。

来自应用程序的请求没有找到条形码,返回204。从Postman发出同样的请求,我能够找到状态为200的条形码。这让我相信问题不在后台。我从Axios切换到fetch,发现了同样的结果。

我猜条形码末尾的额外"%1D“是令人沮丧的原因。为什么rsponseURL与请求url不同。为什么axios要添加"1%D",我怎样才能让它停止?还有别的什么事吗?

我的解决方案是:

代码语言:javascript
运行
复制
let uriSN = serialNumber;
uriSN = encodeURIComponent(serialNumber);
uriSN = uriSN.replace('%1D', '');

对条形码进行编码,然后剥离它的"1%D“解决了这个问题。我不知道这是最好的还是完全的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-05 10:43:53

%1D29的url编码十六进制,它是一种称为“组分隔符”的ASCII码控制字符,因此您的serialNumber可能具有此字符,该字符将通过encodeURIComponent函数进行相应的解析(通过设计)。这就是所谓的"GIGO“(垃圾入垃圾出)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65571645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档