2014-01-30 57 views
0

我試圖從服務器數據庫中獲取數據並將其傳遞給ajax,以在本地android數據庫中創建數據庫表及其數據。但是,當一個Ajax調用是讓它出現以下錯誤。 logcat的:SyntaxError:ajax調用中的意外令牌l

01-30 10:58:45.888: D/CordovaLog(31914): Server is not responding... Please try again: SyntaxError: Unexpected token l 
01-30 10:58:45.888: I/Web Console(31914): Server is not responding... Please try again: SyntaxError: Unexpected token l at file:///android_asset/www/home.html:513 

這裏是Ajax代碼:

$.ajax({ 
       url : urlServer + 'getTableData.php', 
       //  type: 'POST', 
       contentType : 'application/json', 
       beforeSend : function() { 
        $.mobile.loading('show') 
       }, 
       complete : function() { 
        console.log("ajax complete"); 
        createTable(); 
       }, 
       dataType : 'json', 
       data : {userId: user_id}, 
       success : function(data) { 
        if (data != null) 
        { 
         dynamic_tabledetails = data.Table_details; 
         dynamic_selectQuery = data.SelectTableQuery; 
         table_data = data; 
         getTabledetails(dynamic_tabledetails);     
        } 
        else 
        { 
         alert("Error Message"); 
        } 
       }, 
       error : function(xhr, ajaxOptions, thrownError) { 
        console.log("Server is not responding... Please try again: "+thrownError); 
       } 
      }); 

這裏是PHP代碼:

<?php 
require_once ('connect.php'); 
$userID= $_REQUEST['userId']; 
$data = array(); 
$listtables = array(); 
$Tabledetails = array(); 
$select_table = ''; 
$tab_name = array(); 
$getlistTables = 'SHOW TABLES FROM sacpl_crm_dev '; 
$resultsListTables = mysql_query($getlistTables); 
echo 'length of the tables name: '.$resultsListTables.' '; 
while ($row = mysql_fetch_array($resultsListTables)) 
{ 

if(strpos($row[0],'_trail') == false) 
{ 

$temporarydata = array(); 
$TableName = new ArrayObject(); 
$getTabledetails = 'show columns from '.$row[0].''; 
$resultdetails = mysql_query($getTabledetails); 
$TableName['tablename'] = $row[0]; 
$tab_name[] =$row[0]; 
$column = array(); 
$delete_field = ''; 
$comp_codeField = ''; 
while($rows = mysql_fetch_array($resultdetails)) 
{ 
    $column_list =new ArrayObject(); 
    $column_list['FieldName'] = $rows['Field']; 
     $column_list['Default'] = $rows['Default']; 
     if(strpos($rows['Type'],'(') == false) 
     { 
      $column_list['dataType'] = $rows['Type']; 
      $column_list['dataType_limit'] =''; 
     } 
     else 
     { 
      $type = explode('(',$rows['Type']); 
      $column_list['dataType'] = $type[0]; 
      $column_list['dataType_limit'] = '('.$type[1]; 
     } 
     if($rows['Field'] == 'deleted') 
     { 
      $delete_field = 'deleted = 0'; 
     } 
     if($rows['Field'] == 'userId') 
     { 
      $userIdField = $rows['Field'].'="'.$userId.'"'; 
     } 

    $column_list['Extra'] = $rows['Extra']; 
    $column_list['Null_value'] = $rows['Null']; 
    $column_list['Key_value'] = $rows['Key']; 
    $column[] = $column_list; 
} 

$TableName['column_details'] = $column; 
$Tabledetails[]=$TableName; 
if($userIdField == '' && $delete_field !='') 
{ 
    $select_table = 'select * from '.$row[0].' where '.$delete_field.''; 
} 
else if($userIdField != '' && $delete_field =='') 
{ 
    $select_table = 'select * from '.$row[0].' where '.$userIdField.''; 
} 
else if($userIdField != '' && $delete_field !='') 
{ 
    $select_table = 'select * from '.$row[0].' where '.$userIdField.' and '.$delete_field.''; 
} 
else{ 
    $select_table = 'select * from '.$row[0].''; 
} 
$select_query[] = $select_table; 

$resultTableData = mysql_query($select_table); 
while ($row1 = mysql_fetch_array($resultTableData)) 
{ 
    $temporarydata[] = $row1; 
} 
$data[$row[0]] = $temporarydata;  

} 
} 

$data['Table_details'] = $Tabledetails; 
$data['SelectTableQuery'] = $select_query; 
mysql_close($con); 
require_once('JSON.php'); 
$json = new Services_JSON(); 
echo ($json->encode($data)); 
?> 
+0

該行是在您的home.html的513? –

+1

缺少分號@'$ .mobile.loading('show')' –

回答

0

註釋掉行:

echo 'length of the tables name: '.$resultsListTables.' '; 

而且,輸出JSON給a n AJAX調用,設置內容類型標題很重要:

header('Content-type: application/json; charset=utf-8',true); 
0

此php代碼似乎沒有語法錯誤。問題可能在於包含的php:「connect.php」和「JSON.php」。你能不能請他們發表,以便我們可以找到錯誤。

0

此鏈接到你的PHP文件的開頭:

header("Content-Type: text/javascript; charset=utf-8");