我在stackoverflow上进行了搜索,并没有找到我正在寻找的确切内容。
我使用的是内部服务器端语言,如PHP。我在网页上有两个下拉菜单A和B. B根据来自A的输入从数据库中填充值。简单的问题对吗?因此我甚至在A上触发onchange并调用一个javascript函数,该函数对服务器端代码进行后Ajax调用。这个服务器端代码应该执行查询并将结果返回给responseHandler,它应该将结果作为发布数据提供给B.我遇到的问题是服务器端代码,当我执行查询时,我得到一堆行阵列。如何将该数组传递给Javascript responseHandler?我试图发送的是JSON,但没有取得多大成功。以下是服务器端代码:
// If - then - else , !, query, and get are functions in the language
{if {! {query output post get_data_qry_str}}{then
//JSON object
{
"status":"error",
"errorMessage":"Query did not succeed"
}
}{else
//JSON Object
{
"status":"success",
"successMessage":"how do I pass output here ?"
}
}}
output.values={1,2,3}
如果我说{get output}它传递“”,如果我说{get output.values}它传递1。 如果我应该更清楚地说明服务器端语言的语法,请告诉我。
答案 0 :(得分:0)
答案 1 :(得分:0)
所以在阅读了@Hyangelo评论之后,我编写了自己的序列化函数。我以为我会把它放在这里以防其他人想要看到它。以下是成功部分的JSON
{
"status":"success",
"successMessage":"[
// for, length, get, set are functions here
{for x=0 to {length output} do
{get comma}
"{get output.values[x]}"
{set comma ,}
}
]"
}
我还了解到,在Javascript中,将数组作为post_data发送到后Ajax调用,你可以这样做,
for(var i=0; i < arr.length; ++i)
{
post_string += '&values=' + arr[i];
}
instead of
post_string = '&values=' + arr;
这可能是微不足道的,但我是JS的新手并且花了一些时间来计算..谢谢@Hyangelo 抱歉无法发布回复,直到8小时..