2016-03-18 28 views
0

我使用json for php javascript。但是當javascript回調時,它會顯示HTML Every Where。如何從JSON響應中刪除所有HTML

代碼:

$('#buyNow').click(function(){ 
    $('#loading').html('<i class="fa fa-spinner fa-pulse fa-3x fa-fw margin-bottom"></i>'); 
    $('#group-pay').hide(); 
    var nameproduct = $('#myModalLabel1').text(); 
    $.get(base_url+"dashboard/shop",{ buy: idProduct },function(data){ 
     var obj = $.parseJSON(data); 
     alert(data); 
     if(obj.Code == 200){ 
      $('#loading').html('<div class="alert alert-success">Success <strong>'+nameproduct+'</strong></div>'); 
      $('#group-pay').show(); 
     }else{ 
      $('#loading').html('<div class="alert alert-danger">Error</div>'); 
      $('#group-pay').show(); 
     } 
    }); 
}); 

我的PHP:

$vatpham = $_REQUEST['buy']; 
if($vatpham >= 400 && $vatpham <= 609) 
{ 
    $json = array("Code" => "200"); 
    echo json_encode($json); 
} 

錯誤效應初探表現爲:

{"Code":"200"}<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>Cửa hàng</title> 

<link href="http://bieberkieu.com/project/demo/css/bootstrap.min.css" rel="stylesheet"> 
<link href="http://bieberkieu.com/project/demo/css/datepicker3.css" rel="stylesheet"> 
<link href="http://bieberkieu.com/project/demo/css/styles.css" rel="stylesheet"> 
<link href="http://bieberkieu.com/project/demo/css/styles.css" rel="stylesheet"> 
<!--Icons--> 
<script src="http://bieberkieu.com/project/demo/js/lumino.glyphs.js"></script> 
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"> 
<!--[if lt IE 9]> 
<script src="js/html5shiv.js"></script> 
<script src="js/respond.min.js"></script> 
<![endif]--> 

</head> 

<body> 

它表明我的身後JSON響應HTML,任何想知道爲什麼嗎?我嘗試ob_clean()但不工作。

+0

您使用的MVC PHP框架? –

+0

那個PHP代碼後面是什麼?有更多的東西嗎?因爲在繼續執行其他任何操作之前,您的代碼看起來像正確生成JSON。 – Pointy

+0

是啊!我使用codeigniter :)也許我嘗試爲此創建另一個控制器。 –

回答

0

在笨控制器類,創建一個方法只能產生JSON並返回它的代碼,從來沒有從該方法加載任何觀點:

// dashboard/shop 
public function shop() { 
    // in this method should only returned jSON respond 
    // instead of any view 
    $vatpham = $_REQUEST['buy']; 
    if($vatpham >= 400 && $vatpham <= 609) 
    { 
    $json = array("Code" => "200"); 
    echo json_encode($json); //<--- only return this 
    } 
    // remove below code if have, or create another method to only return 
    // json respond 
    $this->load->view('somefilename', $data); 

} 

或者,如果你不能刪除,則需要更換所有的html內容和留下的JSON,但這種解決方案並不明智:

​​
相關問題