小编gon*_*ier的帖子

axios发布服务器未从浏览器接收数据

我正在使用axios.post,但服务器似乎未收到发布数据。

这就是我所拥有的:

var baseURL = "http://localhost:8888/dbRouting.php";
var body = {
  function: 'foo',
  id: 'bar',
}

axios.post(baseURL, body)
.then((response) => { console.log( "Data Loaded AXIOS: " + response.data ); })
.catch(function (error) {console.log(error);});

// Data Loaded AXIOS: array(0) {
// }
Run Code Online (Sandbox Code Playgroud)

另一方面,此jQuery发布到同一文件的工作原理是:

$.post( baseURL, body )
  .done(function( data ) {
     console.log( "Data Loaded JQUERY: " + data );
  });

//Data Loaded JQUERY: array(2) {
//["function"]=>
//string(3) "foo"
//["id"]=>
//string(3) "bar"
//}
Run Code Online (Sandbox Code Playgroud)

服务器文件(dbRouting.php)只是:

<?php
var_dump($_POST);
?>
Run Code Online (Sandbox Code Playgroud)

任何想法可能会发生什么?

axios

6
推荐指数
1
解决办法
1603
查看次数

会话信息在 Chrome 中丢失(但适用于其他浏览器)

这可能与仅在 Chrome 中丢失的会话数​​据相同,并且与仅在 Google Chrome 和 URL 重写中随机丢失会话变量有关

那里没有适合我的解决方案,我希望有人对此有一些新的投入。

这些是我遵循的步骤:

  1. 我初始化了一个会话(不是 cookie),<?php session_start();?>然后稍后在同一个 php 文件中设置变量$_SESSION['nu'] = $userName;

  2. 然后我重定向到一个新的 php window.location.href = "foo.php"。该 php 文件启动会话(第一件事,同上),然后使用 $_SESSION['nu']。到目前为止,所有浏览器都可以正常工作。

  3. 在 Chrome (31.0.1650.26 beta) 上的第二个 php 页面(第 2 步中的页面)上:

    • 我可以在通过 AJAX 调用访问的 php 文件中使用 $_SESSION['nu'] 。
    • 如果我重新加载页面,则不再设置 $_SESSION['nu']。第一次加载后,它没有设置。
    • 如果我转到另一个也需要 $_SESSION['nu'] 的页面,它也无法访问它。
  4. 在 Safari(5.1.9 和 5.1.7)和 Firefox(24.0 和 18.0)上,我可以重新加载并转到另一个页面,设置了 $_SESSION['nu'] 并且一切正常。

  5. 当我在我的家庭环境 (MAMP 1.9.6) 上测试它时,它在 Chrome 上也能正常工作。

  6. 在 php.ini 文件(家庭和在线)中 session.use_only_cookies 是 On(本地和主)。

由于我可以通过 AJAX 访问它(不更改页面),因此在转到新页面时 Chrome 的会话似乎有问题。但是为什么它在第一次起作用呢?我确实换页... …

php session google-chrome

5
推荐指数
1
解决办法
9460
查看次数

标签 统计

axios ×1

google-chrome ×1

php ×1

session ×1