Wordpress 当我包含一个特殊的字符串时不会解析 JSON
Wordpress Won't parseJSON when I include a special string
我有一个系统,当单击按钮时,它通过AJAX更新HTML。有一个函数可以获取要更新的 HTML(测试和工作),一个函数发送一个 JSON 编码的数组,其中包含一个真或假变量和一个字符串,其中包含来自另一个函数的更新 HTML,最后是检索信息的 JQuery 本身。问题是当我尝试通过数组传递HTML信息时,会出现"未捕获的语法错误:意外的令牌<"
检索和发送基本信息的 JQuery 代码
//One of the functions didn't have the data type for testing purposes
(function ($) {
$('.arrow-up').click(function () {
var user_id = $(this).attr('rel');
var my_data = {
action: 'arrow_handler', // This is required so WordPress knows which function to use
move_id: user_id,
arrow_status: 'up'
};
$.post(ajax_url, my_data, function (data) {
var objprase=$.parseJSON(data); // now obj is a json object
if (objprase.true == 'true') {
alert(objprase.true);
} else {
alert(objprase.true);
}
});
});
})(jQuery);
(function ($) {
$('.arrow-down').click(function () {
var user_id = $(this).attr('rel');
var my_data = {
action: 'arrow_handler', // This is required so WordPress knows which function to use
move_id: user_id,
dataType: 'JSON',
arrow_status: 'down'
};
$.post(ajax_url, my_data, function (data) {
var objprase=$.parseJSON(data); // now obj is a json object
if (objprase.true == 'true') {
alert("hello");
} else {
alert(objprase.true);
}
});
});
检索 Ajax 帖子发送的信息并发回加密的 JSON 字符串的函数
// Finds information and sets $truetest to its value
$htmlreturn = tableReturn(); // tableReturn() gets the new HTML code
$datapasser = array("true" => $truetest, "text" => $htmlreturn);
echo json_encode($datapasser);
die(); // this is required to return a proper result
岗位响应
<table id="blog-table" border="1">
<tr> <td align="center">UserName</td> <td align="center">User ID</td> <td align="center">Order</td> <td align="center"></td> <td align="center">Move Up/Down</td> </tr>
<tr id="1"> <td>Olesiarpm</td>
<td>18</td>
<td id="1">1</td>
<td>
<button class="del_btn" rel="1">Delete</button>
</td>
<td><div class="arrow-down" rel="18"></div> </td>
<tr id="2"> <td>bluice12</td>
<td>16</td>
<td id="2">2</td>
<td>
<button class="del_btn" rel="2">Delete</button>
</td>
<td> <div class="arrow-up" rel="16"></div><br><div class="arrow-down" rel="16"></div> </td>
<tr id="3"> <td>fSnNO4Xvlq</td>
<td>35</td>
<td id="3">3</td>
<td>
<button class="del_btn" rel="3">Delete</button>
</td>
<td> <div class="arrow-up" rel="35"></div><br><div class="arrow-down" rel="35"></div> </td>
<tr id="4"> <td>heklylh5469</td>
<td>13</td>
<td id="4">4</td>
<td>
<button class="del_btn" rel="4">Delete</button>
</td>
<td><div class="arrow-up" rel="13"></div> </td>
</table>{"true":"1","text":""} // The HTML is not shown in the "text" but instead is behind the brace
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: 'json'
});
你能传递"json"作为预期的数据类型,不要不要使用 jsonParse。
试试这个:
$datapasser=array(
"true"=>utf8_encode($truetest),
"text"=>utf8_encode($htmlreturn)
);
我会改变这个
if (objprase.true == 'true') {
alert(objprase.true);
} else {
alert(objprase.true);
}
if对真和假做同样的事情
问题是如果你回显某些东西,它不会返回一个值,它只会打印出来。我发现你可以在 html 中做一个 for 循环的唯一方法是创建一个包含所有 html 的字符串并连接到它。最后,返回字符串。
相关文章:
- 如何使用JSON字符串中的jQuery填充下拉框
- Json字符串可以'当字符串末尾有“'时,t解码;
- jquery从2个json字符串构建一个复选框表单
- RegEx只匹配JSON字符串中最里面的数组
- json字符串的Javascript帖子:没有任何东西传入或返回
- 使用javascript在MVC视图中解析.net JSON字符串
- 用Angularjs+Typescript将GZip Json字符串解压为普通Json字符串
- 如何将表单数据传递给PHP并将json字符串返回给Javascript
- 如何使用AngularJS应用基于Json字符串响应的条件CSS类
- 停止JSON.parse()从JSON字符串数据中删除尾随零
- 将JSON字符串转换为函数参数
- 在AngularJS中创建JSON字符串
- 为什么我不能使用jQuery.parseJSON(json)解析json字符串
- Json字符串更改日期
- JSON字符串格式错误
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- C#JSON字符串到JavaScript数组
- 如何在JSON字符串中实现嵌套HTML
- 如何从带有多个对象的JSON字符串创建JSON对象
- 使用捕获组查找和替换json字符串中出现的所有短语