【发布时间】:2018-05-27 09:37:54
【问题描述】:
在 JavaScript 中,我有以下代码:
for (i = 1; i<3; i++)
{
// above I collect check_a and check_b through radio button responses.
var connectJSON = ",";
var passObj = {id:i, ask:check_a, description:check_b};
// adding object string together in tempObj
var tempObj = tempObj + connectJSON + passObj;
}
// get ready for transport to server and display result of string
var data = JSON.stringify(tempObj);
console.info("info: " + data);
// post string to server
$.ajax
({
type: 'POST',
url: 'out.php',
data: {data: data},
success: function(msg)
{
alert(msg);
}
});
在 out.php 中,我尝试确定从服务器返回的结果。代码如下:
<?php
if (ISSET($_POST['data']))
{
echo "TRUE";
}
ELSE
{
echo "False";
}
var_dump($_POST['data']);
?>
我收到这条消息,AJAX 警报 (msg):
**True** string(42) ""question, [object Object], [object Object]""
显然这条消息描述了正在传递的字符串数组。
如果格式正确,我现在需要做的是能够访问字符串数组 - 可能使用 JSON_decode 并识别数组的属性,以便我可以插入 MySQL 数据库。
感谢您的所有帮助...
【问题讨论】:
-
connectJSON + passObj;这将强制转换passObj的字符串,这将返回[Object object]。而是做...+ JSON.stringify(passObj)
标签: javascript ajax post isset stringify