【发布时间】:2012-04-08 06:33:29
【问题描述】:
我正在用 javascript 开发一个 webapp,然后使用 PhoneGap 使其成为“原生”。在这个应用程序中,我需要导出为 PDF,为此我通过 AJAX 调用使用 PHP 脚本。在这个 PHP 调用中,我发送了大量信息,包括一个巨大的 html 表格和两个 SVG 字符串,每个字符串代表一个图表。
这是我在 javascript 中的 AJAX 调用:
jQuery.ajax(
{
type:'POST',
url: 'http://xxx.xxx.xxx.xxx/php/pdfexport.php?callback=?',
data:
{
dataHeader: JSON.stringify( tableHeaderEl ), //First table (Small)
dataBody: JSON.stringify( tableBodyEl ), // Second table (Large)
graphBar : JSON.stringify( svgBar ), // First chart (Large SVG)
graphPie : JSON.stringify( svgPie ) // Second chart (Large SVG)
},
dataType: "json",
success :
function( result )
{
alert( 'Ok' );
}
}
).error(
function( a, b, c )
{
alert( 'Error exporting PDF!' );
}
);
在 PHP 中,我使用以下代码将收到的数据转储到日志文件中
<?php
$log = fopen( 'temp\\log.txt', 'a' );
ob_start();
var_dump ($_REQUEST);
$data = ob_get_clean();
fwrite($log, $data);
fclose($log);
$result = array
(
"success" => true,
);
echo $_REQUEST['callback'] . "(" . json_encode($result) . ")";
?>
当应用程序直接在 Safari 中运行时,我会看到包含发送的所有信息的日志,但在使用 PhoneGap 创建的应用程序中,如果仅发送第一个表,我会看到信息已转储,但如果我发送所有4 弦,然后什么也没有发生。似乎也没有产生错误,因为没有调用错误函数。 我一直在寻找对遇到此类问题的人的回应,但找不到任何东西。
有人遇到过这样的问题吗?
我正在使用 xcode 4、PhoneGap 1.5 和 jQuery 1.7.1。
提前致谢
【问题讨论】:
标签: ios ajax web-applications cordova ios-simulator