将字符串传递给AJAX / JSON函数

时间:2010-04-26 14:57:49

标签: php html ajax json

我无法让AJAX / JSON功能正常工作。我有这个函数从下拉框中获取值,但现在我想使用一个锚标记来设置它的值。

我认为只使用onClick事件将字符串传递给我用于下拉框的函数会很容易,但它没有做任何事情。我很难过!我在这里如何设置它:

第一次我添加一个onClick事件......

<a href="<?php echo Settings::get('app.webroot'); ?>?view=schedule&action=questions" onmouseout="MM_swapImgRestore();" onmouseover="MM_swapImage('bre','','template/images/schedule/bre_f2.gif',1) onclick="assignCallType('testing')";>

第二次检查main.js.php

function assignCallType(type) {
        alert(type); //just for debugging
        new Request.JSON({
            url: "ajax.php", 
            onSuccess: 
                function(rtndata,txt){
                    if (rtndata['STATUS'] != 'OK') 
                        alert('Error assigning call type to call');
                },
            onFailure: 
                function (xhr) {
                    alert('Error assigning call type to call');
                }
        }).get({
            'action': 'assignCallType', 
            'call_type': type
        });    
    }

第三个Ajax.php:变量返回PHP并且值没有添加到db中,但我也没有从main.js.php获取警报

if ($_GET['action'] == "assignCallType") {
    if ($USER->isInsideSales()) {
        $call_type = $_GET['call_type'];
        $_SESSION['callinfo']->setCallType($call_type);
        $_SESSION['callinfo']->save($callid);
        echo json_encode(array('STATUS'=>'OK'));
    } else {
        echo json_encode(array('STATUS'=>'DENIED'));
    }
}

知道我哪里出错了。这个和工作下拉列表之间的唯一区别是函数的调用方式,我使用了onchange="assignCallType(this.value)"

2 个答案:

答案 0 :(得分:0)

在你的锚中你有一个错位的半结肠:

... onclick="assignCallType('testing')";>

这可能会导致您的问题。

答案 1 :(得分:0)

你错过了一个“

   onmouseover="MM_swapImage('bre','','template/images/schedule/bre_f2.gif',1) 

应该有一个“在最后