将javascript var传递给php

时间:2013-08-21 18:30:13

标签: php javascript jquery

我有一个php函数,只需给我一个给定键的数组的值。

示例:

<?=__('mykey')?>

返回我的数组的值。

我想在ajax jQuery调用之后用param调用这个函数。 POST给了我一个json数组,我需要使用像这样的前一个函数

$.ajax({
    url: myfile.php',
    type: 'POST',
    data: $('#contact_form').serialize(),
    dataType: 'json',
}).done(function(data) {
    str = '';
    $.each(data, function(index) {
       $('#message').html(" <?=__('"+index+"')?> ");
    });
})

问题是$ .each函数中的索引值没有传递给php ...有办法解决它或者我必须做这样的事情吗?

 $.each(data, function(index) {
     switch(index):{
         case 1: $('#message').html(" <?=__('1')?> "); break;
         case 2: $('#message').html(" <?=__('2')?> "); break;
         case 3: $('#message').html(" <?=__('3')?> "); break;
             ...
     }

 });

2 个答案:

答案 0 :(得分:1)

我必须做类似的事情并且实际上使用jQuery来设置隐藏输入的值,以便我以后再抓取。

 $('#some-hidden-input').val(yourvalue)

确保此隐藏字段存在且位于呈现的HTML

然后PHP可以简单地在POST上获取该输入值。

$myVar = $_POST['some-hidden-input'];

答案 1 :(得分:1)

要通过Javascript将变量传递给PHP,唯一合理的方法是使用AJAX,但只有在发布内容时才会这样做。如果没有,最好的方法是拥有hidden input字段。

根据您定义的不同条件,您可以设置隐藏的输入字段以携带要应用它的value

将值指定给<input name="A" id="B">

$("Input[name='A']").val(data);

$('#B').val(data);

两者都会将数据值分配给输入字段