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

AJAX:PHP函数返回1,但';成功';部分表示返回0,php,javascript,ajax,Php,Javascript,Ajax,我需要以下给定函数的帮助。函数mainApp.php返回1,但如果执行语句,则返回成功的部分。我对表达式函数(html,msg)的正确性有疑问。如何解决这个问题 更新(工作代码): function click_function_ps() { $.ajax({ url: 'callpage.php?page=optim/mainApp.php', data: 'myParam='+$('#myParam').val(), dataType:

我需要以下给定函数的帮助。函数
mainApp.php
返回1,但如果执行
语句,则返回
成功的
部分。我对表达式
函数(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));
$html\u code='0
';
echo json_编码(数组('msg'=>1,'html'=>$html_代码));

返回的响应在第一个参数中。第二个通常不有趣

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


我还建议您将
html
重命名为更有意义的内容,例如
数据
响应
,并将
数据类型:“json”
添加到ajax参数中。然后让PHP脚本返回
json\u encode(数组('msg'=>1,'html'=>$your\u html\u code))
并在函数中使用
data.msg
data.html

返回的响应在第一个参数中。第二个通常不有趣

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


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

Fyi,
数据:{myParam:$('.\myParam').val()}
会更好,否则您将负责正确编码值。Fyi Fyi$('#myParam').val()}
会更好,因为否则你要负责正确编码值。是的,这正是我的意思。哦,删除
return false;
-从该函数返回值没有用。mainApp.php应该包含以下内容:$html\u code='';json\u encode(数组('msg'=>1,'html'=>$html_code));您忘记了实际输出JSON的
echo
echo JSON_encode(…)
在我更新的帖子中,你可以看到我的代码的最后一个版本。我不知道为什么,但执行的是Else部分而不是IF。你使用的是
==1
,但是你的脚本发送一个整数。改为使用
==1
。是的,这正是我的意思。哦,删除
返回false;
-从该函数返回值没有用。mainApp.php应该包含如下内容:$html\u code='';json\u encode(数组('msg'=>1,'html'=>$html\u code));您忘记了
echo
实际输出json:
echo json\u encode(…)
在我更新的帖子中,您可以看到我的代码的最新版本。我不知道为什么,但执行的是Else部分而不是IF。您使用的是
==1
,但您的脚本发送一个整数。请改用
==1
success(data, textStatus, jqXHR)