我有一个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;
...
}
});
答案 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);
两者都会将数据值分配给输入字段