jQuery、php、mysql を使用して、ueprice を取得するプログラムを作成しました。
(1)価格取得成功後
$prices = array();
$row=mysql_fetch_row($res);
$ueprice = intval($row[0]);
$pricetotal = $ueprice * $suryou;
$selprice = round($pricetotal*$crate);
$prices =array(
'unitp' => $ueprice,
'sump' => $pricetotal,
'sellp' => $selprice
);
(2) json_encode
header('Content-Type: application/json');を使用して $prices を返します。
echo json_encode($prices);
出口;
( 3
) php を呼び出す javascript は次
のとおり
です。
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) 上記の $.ajax は次のエラーを返します: HttpReq= [object Object] errThrown = SyntaxError: Unexpected token a Httpreq.status = 200
(5) このエラーを理解するために数日費やしましたが、まだ解決されていません。Google Chrome を使用すると、ネットワークの応答は良好に思えます: Network Resonponce array(8) { ["rank"]=>
string(1) "S" ["categ"]=> string(12) "drape" ["hinban "]=> string(7) "TKR8001" ["kinou"]=> string(10) "2倍ヒダ" ["curtainh"]=> string(6) "45-120" ["curtainw"]=> string(5) "50-75" ["crate"]=> string(4) "0.90" ["suryou"]=> string(1) "3" }
{"unitp":30000,"sump":90000,"sellp":81000}
この解析エラーに対するあなたのアドバイスに感謝します。