jQuery AJAX php'post'返回实际的PHP代码

时间:2014-11-12 16:24:25

标签: javascript php jquery html ajax

我不确定我是怎么打破这个的;它以前工作但现在不是。在HTML文件中,我正在对一个php文件进行POST调用(然后从REST API中获取数据),但是我返回的不是返回任何API数据,而是实际的PHP代码。

HTML页面中的jQuery AJAX:

$.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调用的结果。这里发生了什么?如果您需要更多信息,我很乐意帮助您帮助我!

编辑:第二个代码摘录在HTML文件中被错误标记。实际上,php在api.php中。遗憾!

1 个答案:

答案 0 :(得分:4)

&#34; HTML页面中的jQuery AJAX:&#34;

<?php

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

这样做是因为你在HTML文件中有你的PHP代码。只需将文件名更改为&#34; file。 php &#34;

正如@Itachi所说:&#34; ....或者如果是apache,请在.htaccess AddType application/x-httpd-php .html .htm&#34;

中添加