Я пытаюсь опросить с помощью ajax и php для приложения Im writing. Php по существу получает стробированный объект для вставки в файл, который можно прочитать позже. У меня есть запись на объекты, которые работают нормально. Проблема, которую я имею прямо сейчас, заключается в том, что если php пытается прочитать файл, который не существует, он, похоже, возвращает код ошибки в вызов $ .post(). Я хочу, чтобы он возвращал JSON, и успех, так что я могу обрабатывать немного по-другому.Проблемы с php File I/O и ajax
РНР в вопрос заключается в следующем:
public function read(){
$id = $this->input->post('id');
$test = fopen("./meetings/".$id.".mt", 'r');
if(!$test){
error_log("Unable to open file, you mutt!");
echo json_encode(array('status' => "FAIL"));
}else{
error_log("Here! 2");
$obj = array();
while(!feof($test)){
error_log("Here! 3");
$tmp = fgets($test);
error_log("Here! 4");
if($tmp){
$obj[count($obj)] = $tmp;
}
}
fclose($test);
error_log("Here! 5");
if(!count($obj) > 0){
echo json_encode(array('status' => "FAIL"));
}
echo json_encode(array('status' => 'OKAY', 'obj' => $obj));
}
}
и Javascript (с помощью JQuery) выглядит следующим образом:
function read(){
$.post('<?php echo base_url(); ?>meetings/read', {id: <?php echo $id;?>}, function(json){
console.log(json.status);
if(json.status == 'OKAY'){
for(var i = 0 ; i < json.obj.length ; i++){
parseObject(json.obj[i]);
}
}
}, 'json');
}
Javascript не получает функции успеха, я проверил используя ajaxError()
, но я не уверен, как это исправить, или даже почему php отправляет сообщение об ошибке, потому что я думаю, что для него это нужно. В противном случае php работает иначе. Кроме того, опрос действительно вызывает сервер так часто, как должен. Любые предложения по исправлению этого? Если вам нужна дополнительная информация, просто спросите. Благодаря!
Жесткий код данных, отправляемых на PHP и доступ к ним прямо в браузере. Таким образом, вы можете увидеть, если это проблема. – Jordan
Я знаю, что это правильно, но проблема в том, что проверка не существует. Я знаю, что этого не существует в это время, поэтому он не может открыть. Мне нужно безопасно проверить, открывается ли файл, если нет (у него была проблема или не существует), а затем верните json, говорящий о таком. Однако сейчас php просто проваливается, и поэтому json не возвращается. – samuraiseoul