AJAX:PHP函数返回1,但“成功”部分表示返回0

时间:2012-05-28 22:30:58

标签: php javascript ajax

我需要一个以下给定功能的帮助。函数mainApp.php返回1,但执行Else语句的success IF部分。我对表达式function(html,msg)的正确性表示怀疑。如何解决这个问题?

更新(工作代码):

function click_function_ps() {
    $.ajax({
        url: 'callpage.php?page=optim/mainApp.php',
        data: 'myParam='+$('#myParam').val(),
        dataType: 'json',
        success: function(output){
            if(output.msg === 1){
                $('#myContainer').html(output.html);
            } else {
                $dialog.dialog('open');
                return false;
            }
        }
    });
}

mainApp.php

 $html_code = '<table width="100%">
                <tr>
                    <td width="100%">
                        <div class="scrollbar" id="chart"><img class="displayed" src="ganttchart.php"></div>
                    </td>
                </tr>
            </table>';

            echo json_encode(array('msg' => 1, 'html' => $html_code));

1 个答案:

答案 0 :(得分:3)

返回的响应位于第一个参数中。第二个通常不是很有趣。

success(data, textStatus, jqXHR)
     

请求成功时要调用的函数。该函数传递三个参数:从服务器返回的数据,根据dataType参数格式化;描述状态的字符串;和jqXHR对象。

我还建议您将html重命名为更有意义的内容,例如dataresponse,并将dataType: 'json'添加到您的ajax参数中。然后让您的PHP脚本返回json_encode(array('msg' => 1, 'html' => $your_html_code))并在您的函数中使用data.msgdata.html