从javascript发送html源到PHP时出错
Error when sending html source from javascript to PHP
我使用以下代码编码web应用程序中ckeditor的html源。
var updateString = app.getValue('wysiwygHomePage');
var encodedString = encodeURIComponent(updateString);
alert(encodedString);
app.httpRequest("www.xxxx.com/techy/savealldata.php", "GET", function(data, error, httpResponse){
alert(data);
},
{
"updateType":"homePage","updateString":encodedString}, "String", {}, {});
}
然后在PHP端我使用:
<?php
$updateType = $_GET["updateType"];
$updateString = $_GET["updateString"];
$updateString2 = urldecode($updateString);
echo 'success here '.$updateType .' '.$updateString2 ;
?>
我正在添加一些彩色tex和html源为这是:
<p>
<span style="color: rgb(255, 140, 0);">123</span><br />
</p>
<p>
在剪切和粘贴超过32次之前,这个工作正常。
然后我从PHP调用中返回error
。
我猜有很多字符到达PHP端??
你知道为什么会这样吗?
WARBY先生。
已更新的PHP代码
<?php
include 'dbdata.php';
$updateType = $_POST["updateType"];
$updateString = $_POST["updateString"];
$updateString2 = urldecode($updateString);
//echo 'success here '.$updateType .' '.$updateString2 ;
if($updateType === 'homePage')
{
$query5 = "UPDATE pageText SET HTML= "."'".$updateString2."'"." WHERE ID = 12";
//echo $query5;
echo 'Home Page Updated 2';
mysql_query($query5);
}
if($updateType === 'instructionPage')
{
$query5 = "UPDATE pageText SET HTML= "."'".$updateString2."'"." WHERE ID = 13";
echo 'Instruction Page Updated 2';
mysql_query($query5);
}
if($updateType === 'FAQPage')
{
$query5 = "UPDATE pageText SET HTML= "."'".$updateString2."'"." WHERE ID = 14";
echo 'FAQ Page Updated';
mysql_query($query5);
}
?>
这里有很多变量在起作用。您需要更改调试策略。与其每次都端到端测试,不如尝试隔离每个组件。
在Javascript中,调用"app.getValue('wysiwygHomePage')",编码字符串,解码字符串,并将其放回编辑器中。在循环中执行此操作,直到您可以确定客户端是否混淆了任何内容。
如果没有,尝试在Javascript中编码一个复杂的字符串,将其发送给PHP脚本,该脚本解码/重新编码并返回它。在循环中多次执行此操作。
如果你还没有发现问题,试着做一个PHP脚本,一个复杂的字符串,插入它,选择它,更新它在一个循环,看看你的数据库编码或转义是否影响它。
如果在任何时候你发现字符串在不应该的情况下发生了变化,那么你可能找到了问题所在。
相关文章:
- 从 java 脚本调用函数时 PHP 中出错
- 使用PHP和Javascript在函数内部传递alphaneumeric值作为参数时出错
- 在javascript中调用php时出错
- 使用 PHP move_uploaded_file() 时出错
- 从 Javascript 传递 php 变量时出错
- PHP 和 googleMap API 中的 javascript 出错
- 尝试在 PHP 中编写 JavaScript 时出错
- PHP 和 AJAX 在接收数据时出错
- 在将数据发送到服务器端(php)之前,提交按钮出错
- 在PHP编码一些未定义的变量时出错
- "SyntaxError:JSON.parse:意外字符"将多个变量从AJAX传递到PHP时出错
- Ajax+php长轮询出错
- Ajax调用工作正常,但php文件在从对象检索属性时出错
- 将一系列数字作为参数传递给PHP中的JavaScript函数时出错
- 将PHP数组传递给js时出错
- 使用ajax调用返回php值时出错
- 当试图更新mysql中的表时,禁用的文本框会导致PHP页面出错
- 从js到php的数组,计算数组长度时出错
- 使用 PHP 将记录保存在 Angular 中时出错
- 从javascript发送html源到PHP时出错