我不确定我是怎么打破这个的;它以前工作但现在不是。在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中。遗憾!
答案 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;