gpt4 book ai didi

javascript - 在 PHP 页面上用 Javascript 创建 XML 会导致 '
转载 作者:行者123 更新时间:2023-12-03 03:32:23 24 4
gpt4 key购买 nike

我在 .php 页面上有一个表单,我想将其内容放入 XML 文档中。我目前正在这样做:

var data = "<?xml version='1.0' encoding='UTF-8'?>" + 
'<request><reference>' + formfield1 + '</reference>
<location>' + formfield2 + '</location>
//etc

this question 中概述了此方法。 .

变量指的是表单中的输入,并且按照console.log他们正确地从表单中获取值。

但是,我遇到的问题是 <??>标签,被解释为 PHP。我尝试过像\<\?这样逃脱,但这会产生一个包含反斜杠的变量,这显然不是我想要的。

我可能错过了一些愚蠢的东西,但我已经广泛搜索了解决方案,但一直未能找到。

更新感谢 WillParky93,我想出了这段代码,它将变量分解成小块,并通过 PHP 打印到页面上:

var data =
<?php print("'" . '<' . '?' . 'xml version="1.0" encoding="utf-8"' . '?' . '>' . "'"); ?>;
data += '<request><reference>' + formfield1 + '</reference>
<location>' + formfield2 + '</location>
//etc

这似乎已经解决了问题,并且 data变量现在可以通过 console.log 正确显示

最佳答案

这很可能是由于您的服务器上启用了速记标记而导致的问题。
如果您有权访问 php.ini 文件;从 php.ini 文件中删除 short_open_tag=On

但是,您也可以通过添加以下行在 .htaccess 中执行此操作:
php_value Short_open_tag 0

如果您的服务器上有大量使用速记的代码,它会崩溃,因此选择 .htaccess 解决方案(可以将其限制为 1 个位置)对您来说可能是更好的选择。

另一个解决方案(取自副本)是将您的 javascript 代码更改为:

var data = "<?='<'?>?xml version='1.0' encoding='UTF-8'?>" + 
'<request><reference>' + formfield1 + '</reference>
<location>' + formfield2 + '</location>
//etc

您还需要对结束 ?> 执行相同的操作

关于javascript - 在 PHP 页面上用 Javascript 创建 XML 会导致 '<?' 被解释为 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46033294/

24 4 0

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