我不确定我是如何打破这个的;以前可以用,但现在不行了。在 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 中。抱歉!
最佳答案
“HTML 页面中的 jQuery AJAX:”
<?php
$username='[my_username]';
$password='[my_password]';
$code = $_POST['code'];
$URL='https://services.onetcenter.org/ws/online/occupations/' . $code . '/details/';
.
.
.
它这样做是因为你的 php 代码位于 HTML 文件中。只需将文件名更改为类似“file.php”
正如@Itachi所说:“....或者如果是apache,则将其添加到.htaccess AddType application/x-httpd-php .html .htm
”
关于javascript - jQuery AJAX php 'post' 返回实际的 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891695/