2013-04-22 115 views
-1

因此,我在WAMP上創建了一個Web應用程序的代碼(我第一次使用任何服務器的東西)和一個測試數據庫,我們查看了客戶端的數據庫。試圖實施時,我們遇到了很多麻煩。他們正在使用企業服務器(注意:我不知道我在說什麼)和MSSQL,我只是在WAMP和MYSQL上使用localhost,root和無密碼。我不知道如何幫助他們實現產品。它可以在我的電腦上正常工作,但對於他們來說,當我使用AJAX打印出錯文本時,它會顯示錯誤請求400。.ajax()Bad Request 400

Ajax請求

$.ajax({ 
     type: "GET", 
     url: "getJobList.php", 
     data: "hline="+lineLabel[currentLine], 
     dataType: "json", 
     success: function(data){ 
       //do successful stuff 
     } 
} 

php文件

<?php 

include "config.php"; 

$con = mysql_connect($host); 
$dbs = mysql_select_db($databaseName, $con); 
//get the parameter from URL 
$hline=$_GET["hline"]; 
if (empty($hline)){ 
    echo "1"; //default rate 
} 
else{ 
    $db=mysql_pconnect($host, $user, $pass);//connect to local database 
    mysql_select_db($databaseName, $db);//select the database you want to use 
    if (!$db){ 
     echo ("error connecting to database");    
    } 
    else{ 
     //connection successful 
     $sql = " SELECT partparameters.cspc,processingrate,setuptime,lotsize,duedate,duetime,homeline 
     FROM jobs 
     INNER JOIN partcoding 
     ON jobs.partnumber=partcoding.partnumber 
     INNER JOIN partparameters 
     ON partcoding.cspc=partparameters.cspc 
     WHERE homeline = '$hline' 
     ORDER BY duedate,duetime ASC";//sql string command 
      $result=mysql_query($sql) or die (mysql_error());//execute SQL string command 
      //result contains rows 
      $arr = array(); 
      $num = 0; 
      while($rows = mysql_fetch_array($result)) 
      { 
      $array[$num] = $rows; 
      $num++; 
      } 
      echo json_encode($array); 
    } 
} 

?> 

PHP配置文件

<?php 
$host = "localhost"; 
$user = "root"; 
$pass = ""; 
$databaseName = "gmdata1"; 
?> 

任何想法?提前致謝!

編輯:修正了一個流浪的括號,我輸錯時輸入。此外,如果我在Chrome上開發的功能與用戶使用的Firefox不同,我不認爲它應該有所作爲,因爲它們呈現相同。

編輯2:

請求URL:

http://usmmcsa0wwt01/ProdSched/getJobList.php?hline=G%20%201 

請求方法: GET

狀態碼: HTTP/1.0 400錯誤的請求

請求頭 15:24:24.000

X-Requested-With:XMLHttpRequestUser-Agent:Mozilla/5.0 (Windows NT 6.1; rv:20.0) Gecko/20100101 Firefox/20.0Referer:http://usmmcsa0wwt01/ProdSched/index.phpHost:usmmcsa0wwt01Connection:keep-aliveCache-Control:max-age=0Accept-Language:en-US,en;q=0.5Accept-Encoding:gzip, deflateAccept:application/json, text/javascript, */*; q=0.01 

響應頭 Δ2ms

服務器:CIMPLICITY-HTTPSVR/1.0Date:星期一,2013年4月22日19時24分24秒GMT

這就是我在他們的firefox控制檯檢查HTTP請求

+1

你說的是文本中的mssql,但是在代碼中使用mysql?兩個完全不同的數據庫... – 2013-04-22 18:43:40

+0

您的服務器正在返回一個錯誤的請求,這意味着數據格式不正確。請發佈回覆。如果沒有響應,則張貼上面的代碼和固定小錯誤可能是徒勞的 – Popnoodles 2013-04-22 18:52:13

+0

@MarcB我們最初使用Access數據庫,並將其轉化到mysql ..對於他們,我們將其轉換爲mssql – 2013-04-22 19:19:32

回答

0

試試這個 -

$.ajax({ 
     type: "GET", 
     url: "getJobList.php", 
     data: {"hline": lineLabel[currentLine]}, 
     dataType: "json", 
     success: function(data){ 
       //do successful stuff 
     } 
} 
+0

對不起,這是我不回到原來的代碼 - 我正在嘗試各種各樣的事情。在我做出這些改變之前,這不是問題,因爲我們有這個問題。 – 2013-04-22 18:27:43

1

你的數據是錯誤的。拿起你要麼需要在URL(不推薦)hline="+lineLabel[currentLine]$_GET["hline"]或正確格式化數據。

data: {"hline": lineLabel[currentLine]}, 
+0

那沒解決問題,還是請求不好請求 – 2013-04-22 18:40:29

+0

不好請求?你能告訴我們什麼是返回請。 – Popnoodles 2013-04-22 18:50:52