Javascript 将JSON对象转换为PHP数组
我试图将一个JSON对象转换为PHP脚本的PHP数组,但我一直收到一条错误消息,JSON_decode希望1个参数是字符串,但数组是给定的。我曾尝试序列化、tringify和json_对脚本进行编码,但没有任何效果。我的剧本是Javascript 将JSON对象转换为PHP数组,javascript,json,tostring,Javascript,Json,Tostring,我试图将一个JSON对象转换为PHP脚本的PHP数组,但我一直收到一条错误消息,JSON_decode希望1个参数是字符串,但数组是给定的。我曾尝试序列化、tringify和json_对脚本进行编码,但没有任何效果。我的剧本是 <script> $(document).ready(function(){ $('form[id=ajax]').submit(function(event){ event.preventDefault(); //var form_data =
<script>
$(document).ready(function(){
$('form[id=ajax]').submit(function(event){
event.preventDefault();
//var form_data = $(this).serialize()
var form_data = {
submit: $('input[name=submit]').val(),
id: $('input[name=id]').val(),
name: $('input[name=name]').val(),
price: $('input[name=price]').val(),
quantity: $('input[name=quantity]').val()
};
var json = json_encode(form_data);
//console.log($json)
$.ajax({
url : 'test.php',
type: 'POST',
data : json
});
});
});
</script>
你做错了,你需要添加JSON.stringify,而不是添加JSON_encode,这是一个php函数,用于将数组编码为JSON字符串;你将JSON对象而不是JSON字符串发送到php脚本
<script>
$(document).ready(function(){
$('form[id=ajax]').submit(function(event){
event.preventDefault();
//var form_data = $(this).serialize()
var form_data = {
submit: $('input[name=submit]').val(),
id: $('input[name=id]').val(),
name: $('input[name=name]').val(),
price: $('input[name=price]').val(),
quantity: $('input[name=quantity]').val()
};
var json = JSON.stringify(form_data);
//console.log($json)
$.ajax({
url : 'test.php',
type: 'POST',
data : json
});
});
});
</script>
如需进一步阅读。。。这是javascript而不是PHP…我尝试过使用JSON.stringify,但这是输出的-array0{}检查控制台输出的JSON对象,我可以在控制台中看到字符串,谢谢你的代码。我给了答案一个绿色的记号。您知道如何将其转换为PHP数组吗?您需要在接收PHP文件中的字符串时使用json\u deocde$\u POST,true;这就是我得到的-警告:json_decode期望参数1为字符串,数组在第4行中为空