我试图获得结果并在PHP文件上成功或不成功时提醒它,它有效(因为更改了结果)但是AJAX没有显示警报(没有错误,没有"真&#34)
JS:
function addentrys() {
var nwentry = {};
el = document.getElementById('addname').value;
eldmn = document.getElementById('adddomain').value;
nwentry.name = el;
nwentry.domain = eldmn;
$.ajax({
type: 'POST',
url: 'api/domain',
dataType: 'json',
data: nwentry
}).done(function(data) {
alert(data);
});
}
PHP:
$app->post('/domain', function () {
$jsonContents = file_get_contents('data/data.json');
$name = $_POST['name'];
$domain = $_POST['domain'];
$data = json_decode($jsonContents, true);
$last_item = end($data);
$last_item_id = $last_item['id'];
$data[] = array(
'name' => $name,
'domain' => $domain,
'id' => $last_item_id+1
);
$json = json_encode($data);
file_put_contents('data/data.json', $json);
return true;
});
答案 0 :(得分:0)
结果可能不是JSON格式,所以当jQuery尝试解析它时,它会失败。您可以通过错误捕获错误:回调函数。
你似乎不需要在该函数中使用JSON,所以你也可以取出dataType:'json'行。