Ajax + Json + PHP $ _POST不返回值

时间:2017-07-19 08:54:59

标签: php jquery json ajax

我正在尝试从<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; class AdminAuthenticate { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @param string|null $guard * @return mixed */ public function handle($request, Closure $next) { if ($this->auth->guest()) { if ($request->ajax()) { return response('Unauthorized.', 401); } else { return redirect()->guest('admin/login'); // <--- here } } return $next($request); } } 函数中获取值。我在 ajax / register.php 中使用了register(),但它显示了var_dump($_POST['nick']);

null
<section id=signup>
  <label>Nick:</label> 
  <input id=nick maxlength=20><br>

  <label>Email:</label> 
  <input id=email maxlength=40><br>

  <label>Hasło:</label> 
  <input id=pass  maxlength=20 type=password><br>

  <label>Potwierdź hasło:</label> 
  <input id=pass2  maxlength=20 type=password><br>

  <button onclick="register()">Załóż konto</button>
</section>

3 个答案:

答案 0 :(得分:3)

您在Method ar = DeserializeFromStream<Method>(client.GetStream());中传递nick的值,因此您必须从n

获取价值

ajax / register.php 执行

n

答案 1 :(得分:3)

您还没有任何名为&#34; nick&#34;的数据:

data: { n: $('#nick').val(), e:$('#email').val(), p:sha1(SALT+$('#pass').val()) }

$_POST,您只有nep

ajax / register.php 中使用var_dump($_POST['n']),获取#nick元素值。

答案 2 :(得分:3)

您正在告诉AJAX调用您将从PHP获取JSON,但是当您使用var_dump($_POST['nick']);时,您不会从PHP发回JSON。您也在{{1}的密钥上传递值1}}而不是n:

所以在PHP中替换这个

nick

var_dump($_POST['nick']);

这会将所有echo json_encode($_POST); 数组返回给javascript

并在javascript替换

$_POST

.done(function(d) {
  if (d.e != 'ok') 
    myAlert(d.e);      
  else
    window.location.href = "/";