2013-09-21 68 views
4

在Firefox上,只有在Firefox上它会弹出并给你一个警告“这个网页正在被重定向到一个新的位置,你想重新发送你输入的新表单到新的位置。 “Json给301永久移动

我没有形式,使用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); 
      }); 

} 

我的路线

Route::put('submit-scan', 'Controllers\Admin\[email protected]'); 

我控制器

public function putUpdateSubmitScan() 
    { 
     if (Request::ajax()) 
     { 
      return Response::json(array('success' => 1, 'data' => "test")); 
     } 
    } 

任何想法出了什么问题?

回答

30

删除尾部斜杠应该做的伎俩(最有可能之前Laravel 4.1,见下文)。

url: '/admin/submit-scan' 

更新

Laravel4 POST unexplained redirect to GET

提到Laravel bootstrap/start.php是调用$app->redirectIfTrailingSlash();这似乎是罪魁祸首。这已经在Laravel 4.1中改变了:

http://laravel.com/docs/upgrade#upgrade-4.1

+0

哇,那有效。这是一个错误? –

+0

laravel 4.2.11在这里,使用angular的tralling斜杠问题依然存在。 –

+0

laravel 4.2在这里,同一问题:( – shahalpk

-1

为了得不到301,你就必须通过URL如发送数据

网址: '/管理/提交扫描/ {Somethinghere}'

总之,不发虽然把发送数据,但也发送数据通过网址或许我的案件包的数量