我的 JS 中有数组,我必须将其解析为 PHP:
var transfer_data = {
cl_name : $("#free_1_1_title").val(),
contact_name : $("#free_1_1_name").val(),
contact_lastname : $("#free_1_1_lastname").val(),
contact_email : $("#free_1_1_email_1").val(),
cl_alley : $("#free_1_1_select_1").val(),
cl_services : $("#free_1_1_select_2").val(),
cl_tags : {
1 : $("classified_tag_1").val(),
2 : $("classified_tag_2").val(),
3 : $("classified_tag_3").val(),
4 : $("classified_tag_4").val(),
5 : $("classified_tag_5").val()
}
};
并传输:
$.ajax({
url: "classifieds/add_new/addNewCl_1_1",
type: 'POST',
dataType: 'json',
data: transfer_data,
success: function(data) {
console.log(data.response);
},
error: function (e) {
console.log(e.message);
}
});
我想这样接收它:
Array
(
[cl_name] => value
[contact_name] => value
[contact_lastname] => value
[contact_email] => value
[cl_alley] => value
[cl_services] => value
[cl_tags] => array(1 => value, 2 => value...)
)
那么我应该怎么做呢?我尝试使用 print_r($_POST);
我只得到了
Array
(
[cl_name] => value
[contact_name] => value
[contact_lastname] => value
[contact_email] => value
[cl_alley] => value
[cl_services] => value
)
我缺少带有值的 cl_tags
最佳答案
像这样推送数组不是一个好主意。
JSON.stringify:将js对象转换为json对象。
执行此操作。
step1.Create array/object.
step 2.JSON.stringify(array) to encode your array in JavaScript,
step 3.$array=json_decode($_POST['jsondata']);//in your php
还有一件事:
您无法向 JavaScript 对象提供数字键。
例如:
var object = {
1:"wrong_way",
'1':true,
'alphabetic_key':"ideal";//boolean or number or string are valid as value.
}
更新:
正如评论中提到的:
使用数字作为对象键并不是最好的约定。但是如果你这样做,JavaScript 引擎会在幕后将它们转换为字符串。
但是访问这些对象时必须小心。
Object.'1';//valid
object.1;//invalid
object[1];//valid
关于javascript - 将数组内部的数组解析为 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20401083/