2014-11-12 3 views
0

Я не уверен, как я сломал это; он работал раньше, но теперь нет. Изнутри файла HTML я делаю POST-вызов в php-файл (который затем захватывает данные из REST API), но вместо того, чтобы возвращать какие-либо данные API, то, что я получаю, является фактическим кодом PHP.jQuery AJAX php 'post', возвращающий действительный код PHP

JQuery AJAX в HTML странице:

$.ajax({ 
    type: "post", 
    url: "api.php", 
    data: {code: event.data.node.id} 
}) 

api.php:

<?php 

$username='[my_username]'; 
$password='[my_password]'; 
$code = $_POST['code']; 
$URL='https://services.onetcenter.org/ws/online/occupations/' . $code . '/details/'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$URL); 
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); 
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); 
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get status code 
$result=curl_exec ($ch); 
curl_close ($ch); 
echo $result; 

?> 

Что я получаю вернулся, кажется, строка кода PHP выше, нежели результат вызова API. Что тут происходит? Если вам нужна дополнительная информация, я буду рад помочь вам помочь!

EDIT: второй фрагмент кода был помечен как в файле HTML. Фактически, php находится внутри api.php. Сожалею!

+3

Является ли ваш сервер настроены и работают? Мне кажется, что он не разбирает файл. – casraf

+0

У вас не может быть PHP-код в HTML-файле. Переименуйте файл в файл yourfilename.php вместо yourfilename.html – Refilon

+0

Это было неправильное обозначение кода. Это было в api.php. Исправлен текст выше. – RunChiRun

ответ

4

"JQuery AJAX в HTML страницу:"

<?php 

$username='[my_username]'; 
$password='[my_password]'; 
$code = $_POST['code']; 
$URL='https://services.onetcenter.org/ws/online/occupations/' . $code . '/details/'; 
. 
. 
. 

Он делает это потому, что у вас есть PHP код внутри HTML-файла. Просто измените имя файла, что-то вроде «файл PHP»

Как @Itachi сказал: «.... или если апач, добавьте это в .htaccess AddType application/x-httpd-php .html .htm»

+1

.... или если apache, добавьте это в _.htaccess_ 'приложение AddType/x-httpd-php .html .htm' – itachi

+0

Я неправильно маркировал второй код. Фактически, это было в api.php, а не в HTML-файле. Тем не менее, я использую apache для этого php. Предложения itachi все еще применяются? – RunChiRun

+0

конечно :) попробуйте, это может сработать! –

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