【发布时间】:2017-02-11 17:53:50
【问题描述】:
我有以下情况。
在一个 Javascript(函数 answer_submit)中,我通过 ajax 调用一个 php 文件,如下所示:
$.post("/content/insert_reply.php", {
id: topicId,
answerText: answerText,
linkToShow: linkToShow
}, function(data) {
call_next_function(data);
});
在调用的 php 文件中,我生成一个数组,该数组将在末尾打印:
$previewArrayString = "{url: '".$urlPreview["URL"].
"', pictureUrl: '".$urlPreview["Picture"].
"', title: '".$urlPreview["Title"].
"', description: '".substr($urlPreview["Description"], 0, 160).
"'}";
echo previewArrayString;
所以“call_next_function”函数将输入扩展为一个数组。每当我现在调用此函数时,它都会告诉我输入未定义。 我尝试将我需要的所有元素放入 javascript 中的全局数组中。但是当我在调用的 php 文件中执行此操作时,站点告诉我,该数组未定义。
长话短说,有什么方法可以让我在 php 中创建一个 javascript 数组,然后通过 js 函数中的数据部分检索数据?
【问题讨论】:
-
你传递给'insert_reply.php'的是json数据。看看php的json_encode和json_decode
-
你的 php 脚本不会创建一个数组而是一个 json-object。
-
call_next_function() 的输入最初是一个字符串,而不是一个数组/对象。您需要先将其转换为 JSON。
-
@Blauharley There's no such thing as a "JSON Object"
-
使用
json_encode创建JSON
标签: javascript php arrays ajax