【问题标题】:Simple language picker简单的语言选择器
【发布时间】:2015-06-23 06:10:01
【问题描述】:

我愿意做的是一个简单的语言选择器。我想将所选语言保留在 $_SESSION 变量中,所以我在 html 中有一个按钮 -

<button onClick="language('-value ( 1, 2, 3, ...-')>Language</button>

调用函数

 function language(val) {
    $.ajax({
    url: "phplang.php",
    type: "POST",
    data: {"language": val},
    success: function(data){
   }
  });
 }

而phplang.php的代码如下:

<?php
  if(isset($_POST['language']))
  $_SESSION['language'] = $_POST['language'];
?>

它不起作用,因为我是ajax的初学者,非常感谢你的帮助。

【问题讨论】:

  • 怎么不工作?检查您的网络检查器并查看发布请求的去向以及包含的内容
  • POST请求成功,XHR加载完毕:POST "localhost/phplang.php".m.ajaxTransport.send@jquery.js:9664m.extend.ajax@jquery.js:9215language@(index):37onclick@(index):83
  • 它是否包含语言键和正确的值?
  • 而 $_POST 数组为空...

标签: php jquery ajax button


【解决方案1】:

确保对session_start() 的调用存在于您的每个脚本中(也存在于您的 HTML 文件中 - 首先将其转换为 .php 文件)。

【讨论】:

  • 会话处于活动状态,html 部分已经在 .php 文件中。 $_POST 是空的很奇怪:O
【解决方案2】:

尝试将 dataType: 'json' 添加到您的 jQuery.ajax 调用中:

function language(val) {
    $.ajax({
        url: "phplang.php",
        type: "POST",
        data: {"language": val},
        dataType: 'json',
        success: function(data){
        }
    });
 }

【讨论】:

  • 我认为这不是问题所在,我试过了,但没有解决我的问题。
猜你喜欢
  • 2016-04-20
  • 2023-04-07
  • 2023-03-05
  • 2019-02-15
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多