我想从一个表单中获取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();
});
@H_404_15@
$content = file_get_contents("PHP://input");
file_put_contents("log1.txt",$content); //This produces the string I get above
@H_404_15@
现在我尝试将字符串转换为数组,如上所示
$dec = explode(",",$content);
$dec1 = array();
for($i=0;$i<count($dec);$i++)
{
$dec1[i] = substr($dec[i],strpos($dec[i],":"));
}
//After this $dec1 is empty and count($dec1) gives 0.
@H_404_15@
但这并没有给我所需的数组.我在这里查了几个答案,但它们没有解决我的问题.我试图谷歌但没有找到任何解决方案.代码中有什么问题吗?请帮助.提前致谢.
解决方法:
$string = "'fname':'abc','lname':'xyz','email':'','pass':'','phone':'','gender':'','dob':''";
print_r(json_decode('{' . str_replace("'", '"', $string) . '}', true));
@H_404_15@
结果
Array
(
[fname] => abc
[lname] => xyz
[email] =>
[pass] =>
[phone] =>
[gender] =>
[dob] =>
)
@H_404_15@
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。