-2

我有一个 php 函数,它只是让我得到一个给定键的数组的值。

例子:

<?=__('mykey')?>

返回我的数组的值。

我会在 ajax jQuery 调用之后使用参数调用这个函数。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;
             ...
     }

 });
4

2 回答 2

1

我不得不做一些类似的事情,并且实际上使用 jQuery 来设置隐藏输入的值,以便我稍后获取。

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

确保此隐藏字段存在并且在呈现的 HTML 中

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

$myVar = $_POST['some-hidden-input'];
于 2013-08-21T18:34:39.967 回答
1

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

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

将值分配给<input name="A" id="B">

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

或者

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

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

于 2013-08-21T18:39:47.413 回答