我的代码有一个问题,我只是无法确定它是什么。我具有以下功能:
var settings = {
dataType: 'text',
"url": "https://example.com/v1/" + <?php echo $_POST["player"]; ?> + "?limit=1",
"method": "GET",
}
这将以我可以运行REGEX的文本格式返回我的JSON。在这里,我运行我的正则表达式:
$.ajax(settings).done(function (response) {
extracted = response.match(/(?=\[\{).*(?:\}\])/);
itm = <?php echo $_POST["player"]; ?>;
alert(extracted)
警报正是我需要的数据,警报也很好。我的问题在于储蓄。这是我的代码:
$.ajax({
type: "post",
url: 'post.php',
data: {json: extracted, itemid: itm},
success: function(){
window.location.href = "/check/";
},
});
});
无论出于何种原因,它仅保存为空白json文件。但是,如果我删除正则表达式,则可以保存到我的服务器上。我在这里想念什么吗?我觉得我在过去的两个小时里尝试了很多事情,而我却是最后的手段。它是JSON的事实无关紧要。即使我可以将“提取的”另存为文本,我也会很高兴。
如果有所作为,这是我下面的PHP保存文件。
<?php
if(isset($_POST['json']))
{
$data=$_POST['json'];
$itemid=$_POST['itemid'];
$fp = fopen($itemid.'.json', 'w');
fwrite($fp, $data);
fclose($fp);
}
?>
答案 0 :(得分:0)
结果是我必须解析,然后重新字符串化以正确保存。我很感谢评论意见直接推动的正确性。谢谢。
var x = JSON.parse(extracted)
var y= JSON.stringify(x);