无法从jquery ajax向php发送数据?

时间:2014-10-06 21:37:55

标签: javascript php jquery ajax

我正在尝试使用JQuery ajax将数据发送到PHP。但是,我只能将第一个key=value发送到PHP,第二个key=value回显为空白。

例如:

functionName="+env works but not username="+username;

如何从JQuery AJAX向PHP传递多个键值对?

Jquery AJAX

var envdata="functionName="+env+",username="+username;
alert(envdata);


if(action == 'R'){
  $.ajax({
type: "GET",
url: 'getdata.php',
data: envdata,
success: function(response) {
                $("#textarea_message").val(response);

}

访问getdata.php

$env = filter_input(INPUT_GET, 'functionName');
echo $env
$username = filter_input(INPUT_GET, 'username');
echo $username;

2 个答案:

答案 0 :(得分:1)

您正在构建data错误。它基本上等同于URL查询字符串,这意味着您需要使用&作为分隔符,而不是,

var envdata="functionName="+env+"&username="+username;
                                 ^---note the &
就url查询参数而言,

逗号对PHP没有任何意义,因此,username=foo将成为functionname值的一部分。

一个简单的var_dump($_GET)会向您显示PHP正在看到的内容。当您没有在脚本中获得预期数据时,这应该是您的第一站。

答案 1 :(得分:-1)

了解JSON

$(document).ready(function() {
$('#some_button').on('click', function() {
    var checks = new Array();
    $("input[name='ls_id']:checked").each(function() {checks.push($(this).val());});
    $.ajax({
                type: 'POST',
                url: "some url",
                dataType: 'json',
                cache: false,
                data: {checks: checks, func: 9},
                success: function(data) {
                }
            });
});

});

的GetData:

$json = json_decode($_POST['checks'], true);
        print_r ($json);