php返回包含文件的内容到javascript

问题描述:

我正面临从PHP返回值到JSON的问题。php返回包含文件的内容到javascript

如果成功或失败的警报将与JavaScript文件内include '../core/init.php';的内容一起显示。但我只需要成功或失败的警报。请帮助

Requestfile:

$id = intval($_REQUEST['id']); 
$empid=$_REQUEST['empid']; 

include '../core/init.php'; 

if($user_data['empid']==$empid){ 
    $delete_sql = "delete from datatable where sl=$id"; 
    mysql_query($delete_sql); 
    echo json_encode("success"); 
    } 
    else{ 
    echo json_encode("failure"); 
} 

主页:

$.ajax({ 
url: 'returnpage.php', 
type: 'post', 
data: { 
'id' : row.sl, 
'empid':row.empid     
}, 
success:function(status){ 
alert(status); 
}, 
error:function(status){ 
alert(status); 
} 

警示窗口:

<style> 

/*html { 

    background: url(includes/background.jpg) no-repeat center center fixed; 

    -webkit-background-size: cover; 

    -moz-background-size: cover; 

    -o-background-size: cover; 

    background-size: cover; 

}*/ 

</style> 



<script type="text/javascript" src="css/js/browsercheck.js"></script> 

<script > 

var browser_name=browserinfo(); 

//alert(browser_name); 

if(browser_name!=="Firefox"){ 
    window.location="non_compatible_browser.php"; 
} 
</script> 



<script type="text/javascript" src="css/js/browsercheck.js"></script> 

<script > 

    // alert("Application Will be down..!!\nFrom 23-Jan-2016 07:15 PM to 23-Jan-2016 08:15 PM \nPlease save the data. ") 

    var browser_name=browserinfo(); 

    //alert(browser_name); 

    if(browser_name!=="Firefox"){ 

     window.location="non_compatible_browser.php"; 

    } 

    //window.location="Maintenance_page.php"; 

//exit(); 

</script> 

"failure" 
+0

是你的请求文件和主页是一样的? – Drudge

+0

没有。他们是独立的文件 –

+2

[不使用'mysql_query'(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) –

使用exit如下回应后:

$id = intval($_REQUEST['id']); 
    $empid=$_REQUEST['empid']; 

    include '../core/init.php'; 

    if($user_data['empid']==$empid){ 
     $delete_sql = "delete from datatable where sl=$id"; 
     mysql_query($delete_sql); 
     echo json_encode("success"); 
exit; 
     } 
     else{ 
     echo json_encode("failure"); 
exit; 
    } 
+0

虽然这可能或可能不会帮助(取决于不需要的输出来自何处),但这里解释为什么它应该是个好主意。 – Burki

+0

@Burki如果有任何东西在ajax函数调用中被回显,那么它会给出与响应相同的整个页面。 – Drudge

添加数据类型: 'JSON' 到您的AJAX JS代码:

$.ajax({ 
url: 'returnpage.php', 
type: 'post', 
dataType: 'JSON', 
data: { 
'id' : row.sl, 
'empid':row.empid     
}, 
success:function(status){ 
alert(status); 
}, 
error:function(status){ 
alert(status); 
} 

JavaScript的变化,确保您的文章参数的值

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 

    $.ajax({ 
     url: 'returnpage.php', 
     type: 'post', 
     data: { 
      'id' : row.sl, 
      'empid':row.empid     
     }, 
     dataType:'json', 
     success:function(result){ 
      alert(result.status); 
     }, 
     error:function(result){ 
      alert(result); 
     } 
    }); 
}); 
</script> 

PHP改变

<?php 

$id = intval($_REQUEST['id']); 
$empid=$_REQUEST['empid']; 

$data = array(); 
$data['status'] = 'failure'; 

//include '../core/init.php'; 

if($user_data['empid']==$empid){ 
    $delete_sql = "delete from datatable where sl=$id"; 
    $result = mysql_query($delete_sql); 

    if($result) { 
     $data['status'] = 'success'; 
    } 
} 
echo json_encode($data); 
+0

Sundar。我得到'[对象对象]',但没有值 –

+0

尝试这个'alert(status.status)'并且启用了注释行 – Sundar

+0

yes试过。它与数200警报 –