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

标签 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 中。抱歉!

最佳答案

“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/

相关文章:

php - PHP脚本创建损坏的SQLite数据库

javascript - 我的所有浏览器都没有发送原始 header

javascript - 使用 jQuery 编写大量 HTML 代码的好方法是什么?

javascript - jQuery 字符串格式问题

php - 使用 mysql 的 CONCAT() 作为列名

javascript - 在 R 中抓取 javascript 网站

php - php 扩展内的方法调用出现段错误

javascript - 我不想在文本框中输入格式为 :123-12-1234 or 123456789 的 9 位数字

javascript - 如果页面有某些元素如何运行js

javascript - 如何从 Javascript 中用 new 调用的构造函数返回 null?