【发布时间】:2016-01-09 21:22:20
【问题描述】:
我正在使用 Slim 进行开发。我所有的 GET 路由都工作得很好,但是每当我使用 POST 时,我都会得到“意外结果”。请看看我是如何实现 slim 和那个“意外错误”的。
index-routes.php(索引根文件)
<?php
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim(array(
'debug' => true
));
require_once 'site-index.php';
require_once 'routes/default-routes.php';
$app->contentType('application/json');
$app->run();
?>
路由/默认路由.php
<?php
$app->post('/login',function(){
echo 'AllHailSuccess!';
})
?>
通过 AJAX 调用的 POST 请求的来源
function try1()
{
var value1 = "afsfesa";
API.call('/login','text','POST',function(data){console.log(data)},{var1:value1});
}
AJAX 调用 API
var API = {
call:function(url,returnType,reqType,callback,data){
var data = (!!data) ? data : {};
var callback = (!!callback) ? callback : function(){};
$.ajax({
dataType: returnType,
type:reqType,
crossDomain: true,
xhrFields: { withCredentials: true },
url: url,
data:data,
success:callback,
error:function(data){
console.log("Error!");
console.log(data);
}
});
}
}
“意外错误”:当我执行 try1() 时,POST 路由确实成功执行,但 site-index.php 的内容(整个纯文本代码)(我在根索引路由中调用了它)。 php 文件)也会随之记录。我首先导入 site-index.php 的原因是因为它就像我的网站的“主要舞台”。这是我要加载的唯一页面,用户可以在其中导航。
- 我想知道:
- 为什么我会得到这种类型的输出?
- 我的方法好吗?我认为从 index-routes 导入我的主阶段文件会导致这种情况。有没有其他方法可以做到这一点?
感谢任何帮助。谢谢。
【问题讨论】:
标签: javascript php ajax slim