Jquery设置PHP $ _GET数组

时间:2012-09-21 13:56:39

标签: php jquery arrays get

问候Stackoverflow

如何从Jquery设置php $ _GET []数组?我有一个字符串看起来像这样:$sample_string = "Hi there, this text contains space and the character: &";。我还有一个包含目的地名称的变量:$saveAs = "SomeVariable";。在PHP中,它将如下所示:$_GET["$SomeVariable"] = $sample_string;

如何在Jquery中执行此操作?

提前致谢,Rasmus

5 个答案:

答案 0 :(得分:2)

如果您正在使用jQuery,则必须在客户端设置一个向服务器发送GET请求的AJAX请求。然后,您可以从服务器端的$_GET[]阵列中提取请求中提供的数据。

$(function() {
    var data =  { 
        sample_string: "hi",
        saveAs: "something"
    };
    $.get('/path/to/script.php', data, function(response) {
        alert(response); // should alert "some response"
    });
});

script.php

<?php
$sample = $_GET['sample_string']; // == "hi"
$saveAs = $_GET['saveAs']; // == "something"
// do work
echo "some response";
?>

答案 1 :(得分:2)

无法判断您是否希望从javascript获取GET参数或从jQuery设置GET参数。如果它是前者,我喜欢使用这段代码(从我遗忘的一段时间后我就不记得了):

var urlParams = {};
(function () {
    var match,
        pl     = /\+/g,  // Regex for replacing addition symbol with a space
        search = /([^&=]+)=?([^&]*)/g,
        decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
        query  = window.location.search.substring(1);

    while (match = search.exec(query))
       urlParams[decode(match[1])] = decode(match[2]);
})();

然后你可以打电话

var cake = urlParams['cake'];

获取http://someurl.com?cake=delicious

指定的$ _GET参数

如果要发送$ _GET参数,可以使用jQuery&#39; $ .get()或$ .ajax()函数。 $ .get函数更简单,并在此处有文档http://api.jquery.com/jQuery.get/

对于$ .ajax,您可以这样做:

var trickystring = "Hi there, this text contains space and the character: &";
$.ajax({
  url:'path/to/your/php/script.php',
  data: {
    'getParam1':trickystring,
    'getParam2':'pie!'
  },
  type:'GET'
});

现在在PHP中,您应该能够通过以下方式获得这些:

$trickystring = $_GET['getParam1'];
$pie = $_GET['getParam2'];

希望这些例子能够获得您正在寻找的东西。 (得到它?)

答案 2 :(得分:1)

如果你想在jquery中使用$sample_string,你可以做到 var sample_str = '<?php echo $sample_string; ?>';然后在任何地方使用js变量sample_str

现在,如果你想在jquery中设置$ _GET,那么ajax函数就可以了。

 $.ajax({
 url:'path/to/your/php_script.php',
 data: {
'param1': 'pqr',
'param2': 'abc'
},
 type:'GET'
});

答案 3 :(得分:0)

你的意思是看起来像$ _GET [$ saveAs] = $ sample_string y think。 $ _GET是一个变量,用于通过URL将信息从页面发送到另一个页面。它在jQuery中执行它不是服务器端的nosense。如果要动态设置$ _GET变量以将其发送到另一个页面,则必须将其包含在URL中,如:

/index.php?'+javascriptVariable_name+'='+javascriptVariable_value+';

答案 4 :(得分:-1)

$ _ GET只是一个URL参数。因此,您可以访问/index.php?id=1

echo $_GET['id'];

看看这篇文章,它显示了使用ajax加载东西的所有方法:

http://net.tutsplus.com/tutorials/javascript-ajax/5-ways-to-make-ajax-calls-with-jquery/