前端使用ajax发送数据遇到后端接口有{}的特殊字符的处理

1 篇文章 0 订阅
1 篇文章 0 订阅

1)问题:

在做前端项目的时候,遇到后端给的接口中含有特殊的字符{}。如下图所示:

 其中在这里power是我发送过去的数据,这个接口的意思就是前端发生过去的数据power作为后端的接口路劲。

前端使用ajax发送数据时会出现访问接口成功但是没有数据返回的问题:

 

2)问题原因查找

使用类似postman工具进行调试发现,接口成功和我使用ajax发生数据接口失败的不同点。

成功调用接口并返回数据的调试:

 调用接口成功但是不返回数据的接口:

 从上面失败和成功的接口对比,发现:

调试工具发生成功是因为将接口中的{power}直接转为前端发生的数据1,而我自己写的ajax发生数据好像接口并不能将{power}替换为1,而且发现我写的ajax接口在浏览器上请求的网址后面还有%7Bpower%7D这样的乱码。

 我猜这里是使用ajax进行发生数据,ajax传递的路径好像解码不了{}这样的特殊字符。

3)我的解决方法:

我发生过去的power只有1或2这两个值,1对应A接口,写2时对应的就是B接口,我直接将1或2写在接口的后面,并不发送power数据过去,我猜我发送的power应该是先放在接口的路劲上,后端并不是直接接受我发送的power数据,而是直接在接口路劲上进行截取获取power的数据,我改后的代码如下:

这样改我就调用接口成功并能够接收数据:

 

 

 所以如果接口上要前度传递什么数据过去,可以使用url拼接的方式去使用ajax发送数据,如果还有问题就先使用类似postman的网页调试工具,成功发生请求后和自己发生的请求进行对比看哪里不同。

4)我的思考:

因为我没学vue框架,不知道使用es6进行传递数据的话是不是传递的数据就可以放在接口的路径上,有大神有什么好的方法希望分享一下,谢谢。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
好的,以下是一个简单的例子: HTML页面中,可以使用jQuery库的ajax方法发送请求并接收后端数据,示例代码如下: ```html <!DOCTYPE html> <html> <head> <title>AJAX Example</title> <script src="https://cdn.bootcss.com/jquery/3.5.1/jquery.min.js"></script> </head> <body> <div id="result"></div> <script> $.ajax({ url: "/api/data", // 后端接口地址 method: "GET", // 请求方法 success: function(data) { // 成功回调函数 $("#result").html(data); // 显示后端返回的数据 }, error: function() { // 失败回调函数 alert("请求数据失败!"); } }); </script> </body> </html> ``` 这里使用了jQuery库中的ajax方法,通过设置url、method、success和error参数来发送请求、处理响应和处理异常。其中,url表示后端接口地址,method表示请求方法(GET、POST、PUT等),success和error分别表示请求成功和失败时的回调函数。在success回调函数中,我们将后端返回的数据显示在页面上,这里使用了jQuery库的html方法。 后端接口可以根据具体需求来设计,这里以Python Flask框架为例,示例代码如下: ```python from flask import Flask app = Flask(__name__) @app.route('/api/data') def get_data(): data = "Hello, World!" return data if __name__ == '__main__': app.run() ``` 这里定义了一个路由/api/data,当接收到GET请求时,返回字符串"Hello, World!"。当然,实际应用中,我们可以从数据库中查询数据等,然后将结果返回给前端页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小丞啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值