在Firefox上,只在Firefox浏览器会弹出,给你一个警告,"这个网页被重定向到新的位置.你想重新发送你输入的新位置的形式."
我没有任何形式,我使用javascript从文本框中提取值
我查了萤火它说PUT /管理/提交扫描/ 301永久移动PUT提交-302扫描发现
我的JS
function submitGoods(){
var registeredNo = $('input[name=registeredno]').val();
var weight = $('input[name=weight]').val();
$.ajax({
type: 'PUT',
url: '/admin/submit-scan/',
data: {
registeredNo: registeredNo,
weight: weight,
_token: csrfToken
},
dataType: 'json'
}).done(function(data){
data = $.parseJSON(data);
});
}
Run Code Online (Sandbox Code Playgroud)
我的路线
Route::put('submit-scan', 'Controllers\Admin\DashboardController@putUpdateSubmitScan');
Run Code Online (Sandbox Code Playgroud)
我的控制器
public function putUpdateSubmitScan()
{
if (Request::ajax())
{
return Response::json(array('success' => 1, 'data' => "test"));
}
}
Run Code Online (Sandbox Code Playgroud)
知道出了什么问题吗?
我正在发送一个HttpURLConnectionwith,setInstanceFollowRedirects(true)并POST获得一个看起来像这样的重定向响应:
HTTP/1.1 302 Found
Server: nginx
Date: Wed, 09 Jan 2013 20:47:56 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
Status: 302 Found
Status: 301 Moved Permanently
Location: http://foo.bar/...
Run Code Online (Sandbox Code Playgroud)
JVM发送的下一个请求是GET请求(到正确的重定向URL).它似乎也删除了我添加到原始请求的HTTP标头之一.
仅供参考,我不是HttpURLConnection直接使用,而是通过Play Framework的WS包装器.
我的问题是 - 这是Java(Sun JVM 1.7.0)的已知问题吗?或者它可能是Play Framework中的错误?
我正在尝试扩展一个使用 CodeIgniter 1.7 的旧 Web 应用程序(我知道......),但遇到了一些麻烦。我希望某个路由只能通过POST请求访问。所以在函数的顶部我有以下内容;
if ($_SERVER['REQUEST_METHOD'] != 'POST')
die ('Wrong request method: ' . $_SERVER['REQUEST_METHOD']);
Run Code Online (Sandbox Code Playgroud)
在本地,在带有 PHP 内置 Web 服务器的 PHP 7.0.14 上,这可以正常工作。然而,在生产环境中,在运行 PHP 5.4.25 的 CPanel 托管服务器上,情况并非如此。
当使用 Postman 向我的路线发送POST请求时,我得到以下信息;
错误的请求方式:GET
PUT、PATCH、DELETE等请求均能正确识别。然而, POST请求似乎神奇地变成了GET请求。
我随请求发送的POST$_POST数据似乎也消失了,并且在或中都找不到$_GET。
它似乎与 CodeIgniter 框架无关,但是当我调用框架之外的文件时,我得到相同的结果。
有什么想法吗?
php ×2
codeigniter ×1
http ×1
java ×1
javascript ×1
json ×1
laravel ×1
laravel-4 ×1
php-5.4 ×1