在POST时404但在GET上有200

时间:2014-10-21 17:03:30

标签: javascript php ajax post xmlhttprequest

我遇到了一个问题,当我发出POST请求时,服务器响应404错误,在发出GET请求时,它以200响应。

以下是我尝试过的方法:

 $.ajax({
     type:"POST", 
     url: "script.php",
     data:{
         imgBase64: data
     }
 }).done(function(o) {
     console.log('saved');
 });

var data = new FormData();
data.append("data" , dataURL);
var xhr = (window.XMLHttpRequest) ? new XMLHttpRequest() : new activeXObject("Microsoft.XMLHTTP");
xhr.open( 'post', 'script.php', true );
xhr.send(data);

我还尝试了更多内容:

header("HTTP/1.0 200 OK", true);
header('Access-Control-Allow-Origin: *');
在php脚本中

。但它们都不起作用。 有人有想法吗?谢谢!

编辑: 这是php脚本。顺便说一句,我正在使用nodejs ...

<?php
// requires php5
header('Access-Control-Allow-Origin: *');
define('UPLOAD_DIR', 'images/');
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
print $success ? $file : 'Unable to save the file.';
?>

1 个答案:

答案 0 :(得分:0)

我是nodejs的新手,最后我发现我应该在server.js中编写一个函数来处理get请求。