[api.php脚本标记中的包含文件中的EXTJS错误

问题描述 投票:0回答:1

我在前端使用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。我如何摆脱这个问题?

我在检查后发现的错误如下:

enter image description here

这是我的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文件发送。在此先感谢

javascript php html mongodb extjs
1个回答
0
投票

我太新了,不能写评论,所以我只在这里写,我不确定是否有帮助,但是:您使用什么来处理php文件?

我在使用sencha cmd提供的Web服务器时遇到了类似的问题。这只是一个基本的HTTP网络服务器,不支持php,因此您取回了php代码,而不是应该生成php代码的javascript。

© www.soinside.com 2019 - 2024. All rights reserved.