首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的json响应是一个充满源代码的页面?

问为什么我的json响应是一个充满源代码的页面?
EN

Stack Overflow用户
提问于 2011-07-27 03:12:46
回答 2查看 1.3K关注 0票数 0

我有一个简单的复选框,点击它发送XHR到PHP页面,php进程正确,我使用json_encode($response)返回。但是,我得到的不是简单的true或false,而是页面的源代码,它当然会导致"parsererror“。ajax调用,如下所示

代码语言:javascript
复制
$.ajax({
type: "post",
url: "myprocessor.php",
dataType: 'json',
data: { "id" : idnumber, "action": "makeLive", "isLive" : "1" },
beforeSend: function(data) {
            $("#ajaxInProgress").addClass('progress');
        },
        success: function(data) {
            $("#status").removeClass().addClass((data.error === true) ? 'error' : 'success').text('Success! Appraiser is NO LONGER Live ').slideDown('slow');
        },
        error: function(data) {
            $("#status").removeClass().addClass('error').text(' - Changing the Live status for this appraiser to "Not Live" has failed - APPRAISER IS STILL LIVE IN SYSTEM, please try again').slideDown('slow');
        },

        complete: function(data) {
            $("#ajaxInProgress").removeClass('progress');
            setTimeout(function() {
                $("#status").slideUp('slow').removeClass();
            },2000);
        }
    }); 

我发布到的php如下:

代码语言:javascript
复制
if (isset($_POST['action'])) { 
if($_POST['action']=='makeLive') { 
    $checkappraiser=mysql_query("SELECT * FROM table WHERE id='".mysql_real_escape_string($_POST['id'])."'");
    if (mysql_numrows($checkappraiser)>0) {
        $livesetting=mysql_result($checkappraiser,0,"live");
        $livesetting=!$livesetting;
        $runSql = mysql_query("UPDATE table SET live='$livesetting' WHERE id='".mysql_real_escape_string($_POST['id'])."'");
        if(!$runSql) {
            $return['error'] = true;
        } else { 
            $return['error'] = false;   
        }
    }
}   
echo json_encode($return);
}

任何建议都是很棒的。我传递了正确的数据,在DB中更新了正确的数据,我的响应返回为解析器错误,因为它试图将源代码解析为json数组。

EN

回答 2

Stack Overflow用户

发布于 2011-07-27 03:14:46

只是快速检查一下,你在你的php文件的开头放了<?php吗?

票数 3
EN

Stack Overflow用户

发布于 2011-07-27 03:16:57

或者你在你的not服务器上做了一些错误的事情,没有正确地将文件传递给php。点击php文件是直接加载源代码还是结果?

如果你点击page.php,它会加载与你点击page.phP或pHP等相同的东西吗?它对web服务器过滤器很重要,这取决于web服务器...

如果您使用tomcat for java,例如...您可以关闭查找文件时的区分大小写,但它不会关闭将文件映射到筛选器或servlet时的区分大小写,因此.jsp将加载jsp servlet,而.jsP不会。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6835257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档