2015-11-07 3 views
1

Я был в тупике в течение нескольких дней и посмотрел на несколько разных сообщений без большой удачи.jQuery AJAX call возвращает весь файл PHP

Я делаю вызов AJAX с помощью JQuery, как так:

console.log("Sending post request"); 
    var postData = { 
    "function": "connectToGame", 
    "name" : name, 
    }; 
    console.log(postData); 
    $.ajax({ 
    type: "POST", 
    url: 'http://localhost:8000/Cordova/server/database.php', 
    data: postData, 
    dataType: 'text', 
    success: function(data) 
    { 
     console.log("AJAX Success! See return:"); 
     console.log(data); 
     var id = data[0];    //get id 

     console.log('Server returned: ' + id + ' as the id'); 
    }, 
    error: function(e){ 
     console.log("AJAX Failure!"); 
     console.log(e); 
    } 
    }); 

После удаления большого количества кода, пытаясь сузить проблему, мой сервер/database.php в настоящее время выглядит следующим образом:

<?php 
echo "1"; 
?> 

После внесения AJAX вызвать консоль показывает следующее:

database.js:21 Sending post request 
database.js:26 Object {function: "connectToGame", name: ""} 
database.js:34 AJAX Success! See return: 
database.js:35 <?php 
echo "1"; 
exit; 
?> 

database.js:38 Server returned: < as the id 

Я полностью озадачен, чтобы Wh y вызов AJAX возвращает весь файл PHP, и любая помощь будет принята с благодарностью.

+3

Это, вероятно, не связано с AJAX. Что вы видите, если вы открываете http: // localhost: 8000/Cordova/server/database.php в своем браузере? – Kenney

+0

Открытие, что в браузере будет загружен файл database.php – mcgrandlej

ответ

2

Похоже, что вы неправильно настроили веб-сервер для интерпретации файлов PHP, и он возвращает их буквальное содержимое без какой-либо обработки. К сожалению, вы не указали никаких подробностей о настройке вашей серверной части, поэтому очень сложно помочь. Но если вы используете Apache, вы можете взглянуть на mod_php, чтобы ваш PHP-скрипт был оценен сервером, и результат возвращается клиенту. Поэтому убедитесь, что у вас есть рабочий сценарий на стороне сервера по адресу http://localhost:8000/Cordova/server/database.php, прежде чем пытаться вызвать на него любые клиентские вызовы.

+0

Yup, во всем этом я использовал «python -m SimpleHTTPServer». Вызов файла database.php через Apache исправил проблему. Благодаря! – mcgrandlej

Смежные вопросы