猿问

通过 jQuery ajax() 将 HTML 作为数据传递,并且在 URL 中更改为`&`

我正在抓取页面的 HTML 并尝试通过 jQuery 的 ajax() 函数将其作为字符串发送到 PHP Web 服务。当我在 PHP 端获取参数时,HTML 中的 URL(例如图像的 src 属性)中的 &s 被转换为&并且链接不起作用。

例子:

<img src="https://somesite.com/path/file.php?foo=bar&biz=buz&bat=bot">

结果:

<img src="https://somesite.com/path/file.php?foo=bar&amp;biz=buz&amp;bat=bot">


白衣染霜花
浏览 237回答 2
2回答

白猪掌柜的

我找到了解决方案。我不得不在 PHP 端使用htmlspecialchars_decode将其转换&amp;回&.

慕田峪4524236

在客户端对您的 html 进行编码:var&nbsp;html&nbsp;=&nbsp;'<img&nbsp;src="&nbsp; var&nbsp;encodedHtml&nbsp;=&nbsp;btoa(html);将其发布到服务器并使用 php 将响应字符串解码为 html:$html&nbsp;=&nbsp;base64_decode(&nbsp;$encoded_html&nbsp;);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答