我正在开发一个ajax,以调用slimframework并将数据发布到DB。但是ajax不工作吗?我一直在ajax上得到404。
这工作
<form action="http://myapi.com/api/key/514315/push" method="post">
<input type="input" name="test" value="test">
<input type="submit" value="Submit"/>
在Ajax中尝试使用时,这个无法工作:在发送数据时返回404,就好像您访问API而没有发送put请求一样。
<script type="text/javascript">
var Data = [
{
"Name" : 'Home',
"Description" : "This is a test description",
"Keywords" : "Keyword One, Two, Threeh",
"Menu" : 1,
"Parent" : 0
},
{
"Name" : 'About',
"Description" : "This is a About description",
"Keywords" : "Keyword One, Two, Threeh",
"Menu" : 2,
"Parent" : 0
}
];
var rootURL = "http://myapi.com/api/key/514315/push";
$.each(Data, function(key, value) {
$.ajax({
type: 'POST',
contentType: 'application/json',
url: rootURL,
dataType: "json",
data: Data[key],
success: function(data, textStatus, jqXHR){
alert('Article Added');
},
error: function(jqXHR, textStatus, errorThrown){
alert('Add Article error: ' + textStatus);
}
});
});
$app->post('/key/:key/push', function ($key) {
$app = new \Slim\Slim();
$body = $app->request->getBody();
$singleRequest = $app->request->params('test');
echo "<pre>";
print_r($body);
echo "</pre>";
echo "<hr>";
echo "<pre>";
print_r($singleRequest);
echo "</pre>";
});
$app->run();
有什么想法吗?
发布于 2014-07-24 10:08:02
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
if(array_key_exists('HTTP_ACCESS_CONTROL_REQUEST_HEADERS', $_SERVER)) {
header('Access-Control-Allow-Headers: '
. $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']);
} else {
header('Access-Control-Allow-Headers: *');
}
if("OPTIONS" == $_SERVER['REQUEST_METHOD']) {
exit(0);
}
将其添加到PHP中
https://stackoverflow.com/questions/24930129
复制相似问题