Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在js变量中发送XML_Php_Javascript_Fusioncharts - Fatal编程技术网

Php 在js变量中发送XML

Php 在js变量中发送XML,php,javascript,fusioncharts,Php,Javascript,Fusioncharts,我有这个php代码,变量是XML数据 $strXML = "<chart caption='ADI Chart Test ' xAxisName='Month' yAxisName='Units'" $strXML.= "showValues='0'formatNumberScale='0' showBorder='1'>"; echo "<td align='right' onClick='drawchart($strXML)' > $totalcost </t

我有这个php代码,变量是XML数据

$strXML = "<chart caption='ADI Chart Test ' xAxisName='Month' yAxisName='Units'"
$strXML.= "showValues='0'formatNumberScale='0' showBorder='1'>";

echo "<td align='right' onClick='drawchart($strXML)' > $totalcost </td> " ;` 
我的问题是链接没有正确显示,更重要的是,当它到达js函数时没有数据

function drawchart(dataX) {
var chart1 = new FusionCharts("../charts/Pie3D.swf", "chart1Id", "400", "300","1"); 
chart1.setDataXML(dataX);
chart1.render("chart1div");

有谁能告诉我如何通过js变量发送xml数据吗?

您应该对strXML进行编码,以便将其呈现为有效的HTML。此外,应该用撇号将其括起来,以便它成为有效的Javascript文本

echo
     "<td align='right' onClick='drawchart(\"" .
     htmlspecialchars(json_encode($strXML)) . 
     "\")'> $totalcost </td>";
echo
“$totalcost”;

您应该对strXML进行编码,以便将其呈现为有效的HTML。此外,应该用撇号将其括起来,以便它成为有效的Javascript文本

echo
     "<td align='right' onClick='drawchart(\"" .
     htmlspecialchars(json_encode($strXML)) . 
     "\")'> $totalcost </td>";
echo
“$totalcost”;

您想要的最终结果是什么-忽略XML/JS部分

如果您只是尝试将其他属性分配给图表,是否可以通过
setDataURL
函数加载数据:

var url="/path/to/data.php";

var chart1 = new FusionCharts("../charts/Pie3D.swf", "chart1Id", "400", "300","1");

url=escape(url);

chart1.setDataURL(url);

chart1.addParam("WMode", "Transparent");

chart1.render("chart1div");

您想要的最终结果是什么?忽略XML/JS部分

如果您只是尝试将其他属性分配给图表,是否可以通过
setDataURL
函数加载数据:

var url="/path/to/data.php";

var chart1 = new FusionCharts("../charts/Pie3D.swf", "chart1Id", "400", "300","1");

url=escape(url);

chart1.setDataURL(url);

chart1.addParam("WMode", "Transparent");

chart1.render("chart1div");

似乎你在这方面遗漏了一些东西: echo“$totalcost”`

应该是:


echo“$totalcost”`

您似乎遗漏了以下内容: echo“$totalcost”`

应该是:


echo“$totalcost”`

你40分钟前问过同样的问题吗?你40分钟前问过同样的问题吗?用撇号括起来是不够的,在用单引号括起来之前,需要对字符串中的任何撇号(或其他反斜杠)进行反斜杠转义。一次完成这一切最简单的方法是:
'
。用撇号括起来是不够的,在用单引号括起来之前,需要对字符串中的任何撇号(或其他反斜杠)进行反斜杠转义。一次完成这一切最简单的方法是:
'