使用jQuery,PHP和MySQL,我寫的程序 得到ueprice:AJAX JSON返回語法錯誤:意外的標記,掙扎着要弄清楚它幾天
(1)拿到後successfuly價格
$ prices = array();
$ row = mysql_fetch_row($ res);
$ ueprice = intval($ row [0]);
$ pricetotal = $ ueprice * $ suryou;
$ selprice = round($ pricetotal * $ crate);
$價格=陣列(
'UNITP'=> $ ueprice,
'貯槽'=> $ pricetotal,
'sellp'=> $ selprice
);
(2)使用json_encode返回$價格
header('Content-Type:application/json');
echo json_encode($ prices);
退出;
(3)的JavaScript其中調用PHP是:
$(函數(){。
setPrices1d();
$( 「#selectQuantity1d」)上( 「變化」,setPrices1d);
}) ;
function setPrices1d() {
$(document).ready(function()
{
var grn = $('#main1d').val(); //get rank
var ghn = $('#sub1d option:selected').text(); //get hinban
var gkn = $('#detail1d').val(); //get kinou
var gch = $('#curtainH1d').val(); //get curtain height
var gcw = $('#curtainW1d').val(); //get curtain width
var gcr = $('#sellingRate1d').val(); //get customer_rate
var gsu = $('#selectQuantity1d').val(); //get suryou
var q = encodeURIComponent("drape");
var url = 'jsonprice.php?rank=' + grn + '&categ=' + q + '&hinban='
+ ghn + '&kinou=' + gkn + '&curtainh=' + gch +
'&curtainw=' + gcw + '&crate=' + gcr + '&suryou=' + gsu;
$.ajax({
type: "GET",
url: url,
dataType: "json",
/**
* Ajax通信が成功した場合に呼び出されるメソッド
*/
success: function(data) {myObject=JSON.parse(data);}
{
//結果が0件の場合
if(data == null) alert('データが0件でした');
//返ってきたデータの表示
var $unitprice = $('#unitPrice1d');
var $sumprice = $('#sumTotal1d');
var $sellprice = $('#sellingPrice1d');
// clear input area
$unitprice.empty();
$sumprice.empty();
$sellprice.empty();
//set prices into text area
$unitprice.val(data[0].unitp);
$sumprice.val(data[0].sump);
$sellprice.val(data[0].sellp);
},
/**
* Ajax通信が失敗場合に呼び出されるメソッド
*/
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert('エラー : HttpReq= ' + XMLHttpRequest + ' textStatus =' + textStatus + ' errThrown =' + errorThrown + ' errThrown.message =' + errorThrown.message + ' HttpReq.status =' + XMLHttpRequest.status);
}
});
});
}
上述(4)$就返回以下錯誤: HttpReq = [對象的對象] errThrown =語法錯誤:意外令牌的 Httpreq.status = 200
( 5)找出我花了幾天的錯誤,但尚未解決。 使用谷歌瀏覽器, 網絡響應似乎對我好: 網絡Resonponce 陣列(8){ [ 「秩」] =>
串(1) 「S」 [ 「CATEG」] => 串(12) 「懸垂性」 [ 「hinban」] => 串(7) 「TKR8001」 [ 「kinou」] => 串(10) 「2倍ヒダ」 [ 「curtainh」] => 串(6)「45-120」 [「curtainw」] => string(5)「50-75」 [「crate」] => string(4)「0.90」 [「suryou」] => 字符串(1) 「3」 }
{ 「UNITP」:30000, 「油底殼」:90000, 「sellp」:81000}
我greately appricate你的建議對這個語法錯誤, 非常感謝!
你可以嘗試使用curl來調用你的服務器來獲得你的結果嗎?我總是發現使用curl來檢查返回的內容是否有用。例如curl -v -H「Accept:application/json」-H「Content-type:application/json」-X POST -d'{「user」:{「first_name」:「firstname」,「last_name」:「lastname 「,」email「:」[email protected]「,」password「:」app123「,」password_confirmation「:」app123「}}'http:// localhost:3000/api/1/users –