ajax调用php+json数据,javascript – 通过POST从ajax调用获取JSON数据到PHP页面

作者在PHP页面中通过AJAX获取表单数据,遇到了字符串形式的数据转换问题。他们尝试使用explode和substr函数,但未成功。最终通过修改字符串格式并使用json_decode解决了难题。本文探讨了解决过程和正确的方法。
摘要由CSDN通过智能技术生成

我想从一个表单中获取AJAX调用的一些数据.我在PHP页面中将数据作为字符串获取.字符串看起来像

‘FNAME’: ‘ABC’, ‘L-NAME’: ‘某某’, ‘邮件’: ”, ‘通’: ”, ‘电话’: ”, ‘性别’: ”, ‘出生日期’: ”

现在我想将整个字符串转换为看起来像的数组

[“fname”] => “ABC”,

[“lname”] => “xyz”……等等

ajax调用如下:

fname = $("#form-fname").val();

lname = $("#form-lname").val();

email = $("#form-username").val();

pwd = $("#form-password").val();

phone = $("#form-phone").val();

gender = $("#form-gender").val();

dob = $("#form-dob").val();

var user = {"fname":fname,"lname":lname,"email":email,"pass":pwd,"phone":phone,"gender":gender,"dob":dob};

$.ajax({

type: "POST",

url: "doRegistration.php",

data: user

})

.done(function( msg ) {

window.location.href = "../profile.php";

})

.fail(function(msg) {

sessionStorage.setItem("success","0");

window.location.reload();

});

这是我的PHP代码:

$content = file_get_contents("php://input");

file_put_contents("log1.txt",$content); //This produces the string I get above

现在我尝试将字符串转换为数组,如上所示

$dec = explode(",",$content);

$dec1 = array();

for($i=0;$i

{

$dec1[i] = substr($dec[i],strpos($dec[i],":"));

}

//After this $dec1 is empty and count($dec1) gives 0.

但这并没有给我所需的数组.我在这里查了几个答案,但它们没有解决我的问题.我试图谷歌但没有找到任何解决方案.代码中有什么问题吗?请帮助.提前致谢.

解决方法:

更改报价并添加大括号.然后你可以解码生成的json

$string = "'fname':'abc','lname':'xyz','email':'','pass':'','phone':'','gender':'','dob':''";

print_r(json_decode('{' . str_replace("'", '"', $string) . '}', true));

结果

Array

(

[fname] => abc

[lname] => xyz

[email] =>

[pass] =>

[phone] =>

[gender] =>

[dob] =>

)

标签:jquery,json,php,javascript,ajax

来源: https://codeday.me/bug/20190622/1263421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值