2013-02-20 157 views
-1

我正在使用json和jquery在php應用程序中接收異步數據。但我發現的語法錯誤:意外的令牌<json與jQuery

未捕獲的語法錯誤:意外的標記<

請給我建議。 我用相同的代碼在另一個程序中被執行良好,但下面的代碼顯示錯誤

HTML代碼/ jQuery代碼:

$('#cmb_package').bind('change', function() { 
    var value = $(this).val(); 
    var destination = $("#destination").val(); 
    var service_val = $("#serviceid").val(); 
    var newdiv = $('#divserviceprovider'); 
    if (value == "NoPackage") { 
     $.ajax({ 
      type: 'POST', 
      url: '../costsheets/getpricebyajax', 
      dataType: 'json', 
      content: 'application/json', 
      data: { 
       service: service_val, 
       destno: destination 
      }, 
      success: function (data) { 
       alert("success"); 
       newdiv.text(''); 
       newdiv.append(data.msg); 
       newdiv.show(500); 
       if (data.error === true) newdiv.show(500); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       alert("fail " + errorThrown); 
       newdiv.removeClass().addClass('error') 
        .text('There was an error.').show(500); 
       newdiv.show(500); 
      } 
     }); 
     return false; 
    } else { 
     $('#div-packagetype').show(); 
    } 
}); 

PHP CODE:

function getpricebyajax() 
{ 

      $str="";$substr=""; 
      header("Content-type: application/json"); 

      $return['error'] = true; 
      $return['msg'] = "Success"; 

      echo json_encode($return); 

      exit; 
    } 

我使用CakePHP 1.3框架。

+0

實際的json返回的是什麼? – sevenseacat 2013-02-20 12:27:11

+2

哪一行代碼觸發錯誤?您的瀏覽器的開發工具Net標籤對於請求有什麼看法?請求是否成功?答案是否像你期望的那樣? – Quentin 2013-02-20 12:27:39

+0

它會產生錯誤。 – 2013-02-20 12:32:01

回答

0

當你使用一個框架(蛋糕PHP)可能是你的代碼內嵌到另一個進程,將打印的經典開始HTML頁面(如<html> ...等)

看看這個例如:json output with CakePHP用戶設置特定的佈局,讓結果頁面(骨架)爲空:

$this->layout = 'ajax';