Google应用程序引擎,AJAX返回PHP文件的内容字符串而不是JSON
我一直试图将PHP作为运行时在GAE中使用datatable,但不知何故,它返回的是实际的页面内容,而不是json响应。以下是app.yaml文件Google应用程序引擎,AJAX返回PHP文件的内容字符串而不是JSON,php,jquery,ajax,json,google-app-engine,Php,Jquery,Ajax,Json,Google App Engine,我一直试图将PHP作为运行时在GAE中使用datatable,但不知何故,它返回的是实际的页面内容,而不是json响应。以下是app.yaml文件 application: app353 version: 1 runtime: php api_version: 1 threadsafe: yes handlers: - url: /favicon\.ico static_files: favicon.ico upload: favicon\.ico - url: /css static_di
application: app353
version: 1
runtime: php
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: /css
static_dir: css
- url: /js
static_dir: js
- url: .*
script: index.php
- url: /php/genjson
script: php/genjsonphp.php
PHP/HTML代码段
<?php
?>
<script src="./js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="./js/jquery.dataTables.js">
</script>
<link rel="stylesheet" type="text/css" media="all" href="./css/jquery.dataTables.css" />
<script>
$(document).ready(function()
{
$('#example').dataTable(
{
"ajax": './php/genjsonphp.php'
} );
} );
</script>
<table class="display" id="example">
<thead>
<th>Dimensions</th>
</thead>
<tbody></tbody>
</table>
来自getjsonphp.phh的内容片段
header('Content-Type: application/json');
var_dump(json_decode($strjSon));
header('Content-Type: application/json');
echo $strjSon;
从谷歌应用程序引擎登录
默认值:“GET/css/jquery.dataTables.css HTTP/1.1”304-
默认值:“GET/php/genjsonphp.php HTTP/1.1”200 675
花了很多时间调试,但没有人能指出错误或文档
谢谢,
Sachin从yaml配置中可以明显看出,要执行php/genjsonphp.php,您需要请求url“/php/genjson”,而不是像js当前那样请求“/php/genjsonphp.php”。无论是修复配置还是修复js,这都是非常琐碎的,如果你真的“花了很多时间调试”,你可能帮不上忙,对不起。根据app.yaml文件中指定的顺序,.*url映射将优先于/php/genjson。如果php/genjsonphp.php是您试图调用的实际脚本,则需要相应地进行更改。您的请求是什么?您得到的答复是什么(请包括您的问题的请求和答复的标题和正文)。
header('Content-Type: application/json');
var_dump(json_decode($strjSon));
header('Content-Type: application/json');
echo $strjSon;