gpt4 book ai didi

php - 停止 PHP/Drupal 中的自动 URL 解码

转载 作者:行者123 更新时间:2023-12-01 08:23:55 25 4
gpt4 key购买 nike

我将自定义 XML 数据从 jQuery 发送到 Drupal/PHP,如下所示:

$.ajax({
type: 'POST',
url: this.href,

success: function(data){

alert('Form is successfully saved');


},
error:function(XMLHttpRequest, textStatus, errorThrown){
alert("Error");

},

data: 'myxml='+ mydata
});

我的 XML 标记包含 URL,因此我对它们进行编码,在进行 AJAX 调用之前,数据看起来有点像这样:

mydata="<txtLinkLocation>http%3A%2F%2Fportal.cubewerx.com%2Fcubewerx%2Fcubeserv%2Fcubeserv.cgi%3FCONFIG%3Dhaiti%26SERVICE%3DWFS%26DATASTORE%3DOSM%26request%3DGetCapabilities</txtLinkLocation>";

并且,在 PHP 中,我获取接收到的数据,并将其存储如下:

$receivedXML = $_POST['myxml'];

现在,$receivedXML 的包含内容如下所示:

<txtLinkLocation>http://portal.cubewerx.com/cubewerx/cubeserv/cubeserv.cgi?CONFIG=haiti&SERVICE=WFS&DATASTORE=OSM&request=GetCapabilities</txtLinkLocation>

我的问题是为什么这个字符串中的 URL 会被自动解码?为什么会发生这种情况?我不希望对通过 AJAX 调用发送的数据执行任何自动操作。如何制止这种行为?我觉得我在这里缺少一些基本概念......

最佳答案

$_POST数据发送到服务器的方式与$_GET相同。它必须以 urlencode 方式发送,否则可能会损坏。这意味着默认情况下,PHP 将解码 urlencode,因为它期望数据进行 urlencode。

关于php - 停止 PHP/Drupal 中的自动 URL 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5493536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com