我在前端使用sencha Extjs 6.0.2,在后端使用mongodb。但是,每当我尝试使用脚本标签在index.html文件中添加api.php文件时,都会引发一些异常。在index.html中,我添加了以下代码来包含api.php文件。
<script src="php/api.php" type="text/javascript" ></script>
错误是
Uncaught SyntaxError: Unexpected token < api.php?_dc=1468481913442:1
我在调试过程中发现的问题是api.php文件被称为html类型。据我所知,PHP文件应该作为PHP类型调用,但事实并非如此。有时,当我使用Firebug重新发送文件响应时,它的类型变成了xml。我如何摆脱这个问题?
我在检查后发现的错误如下:
这是我的api.php代码
<?php
require('config.php');
//header('Content-Type: text/javascript');
header("content-type: application/x-javascript");
$API = get_extdirect_api('api');
// convert API config to Ext Direct spec
$actions = array();
foreach($API as $aname=>&$a){
$methods = array();
foreach($a['methods'] as $mname=>&$m){
if (isset($m['len'])) {
$md = array(
'name'=>$mname,
'len'=>$m['len']
);
} else {
$md = array(
'name'=>$mname,
'params'=>$m['params']
);
}
if(isset($m['formHandler']) && $m['formHandler']){
$md['formHandler'] = true;
}
if (isset($m['metadata'])) {
$md['metadata'] = $m['metadata'];
}
$methods[] = $md;
}
$actions[$aname] = $methods;
}
$cfg = array(
'url'=>'php/router.php',
'type'=>'remoting',
'actions'=>$actions
);
echo 'var Ext = Ext || {}; Ext.REMOTING_API = ';
echo json_encode($cfg);
echo ';';
// document.getElementById("demo").innerHTML = "Hello JavaScript";
?>
我尝试将api.php文件类型作为JS文件发送。在此先感谢
我太新了,不能写评论,所以我只在这里写,我不确定是否有帮助,但是:您使用什么来处理php文件?
我在使用sencha cmd提供的Web服务器时遇到了类似的问题。这只是一个基本的HTTP网络服务器,不支持php,因此您取回了php代码,而不是应该生成php代码的javascript。