0

我在原型中将 json 对象传递给 ajax 时遇到问题。
这是情况:
PHP:

<?php
    $a = array(k1=>v1, k2=>v2);
    $a = json_encode($a);
?>//JS 
<script>
    var a_js = <?= $a ?>
</script>
<?
    echo '<input type:"button" onclick='save(a_js) value='save js''>';
?>

JS

function save(a_json) {
    AJAX_ACTIONS_URL = 'ajax_action.php';
    params = {
        act: 'save_filters_status',
        a_json: a_json
    };
    new Ajax.Request(AJAX_ACTIONS_URL, {
        method: 'post',
        parameters: params,
        onSuccess: function (transport) {
            alert(transport.responseText);
        }
    });
}

Ajax_actions.php

if(var_post('act')=='save_filters_status') {
    $x = explode(',',var_post('a_js'));
    print_r($x);
}

现在,我没有看到任何关于a_js火狐的帖子,没有来自 ajax 的响应,我有点迷茫,谢谢你的帮助。注意我在 JavaScript 原型框架工作。

4

3 回答 3

1

echo的 'd 按钮有一些错误的引用嵌套:

 echo '<input type:"button" onclick='save(a_js) value='save js''>';

应该:

 echo '<input type="button" onclick="save(a_js)" value="save js">';
于 2012-12-19T13:45:17.003 回答
0

嘿,我认为我的问题是在从 php 获取 var 之后,我没有在 js 部分使用 JSON.stringify .. 所以这仍然是一个对象。因为这是 php -> js 之间的默认输出。感谢您的帮助。抱歉发布语法错误..

于 2012-12-26T12:50:49.383 回答
0
 <?php
  $a=array(k1=>v1, k2=>v2)
  $a = json_encode($a)
  ?>//JS 
  <script>
    var a_js='<?=$a?>';
  </script>
  <?
  echo '<input type:"button" onclick='save(a_js) value='save js''>';
 ?>
于 2012-12-19T13:40:59.073 回答