У меня есть страница, и я хочу обновить div каждую минуту, не обновляя всю страницу. Доставляйте данные из php-файла, который вычисляет большую цену в другом файле xml. Я читал, что лучший способ сделать это запрос ajax.ajax request response false data
мой Аякса код:
<script type="text/javascript">
$(function(){
var name = $("#product").val();
$.ajax({
type: "GET",
url: "maxPrice.php",
dataType: "text",
data: {'product_name' : name},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
},
success:function(result) {
alert(result);
}
});
});
</script>
РНР файл:
<?php
$product_name = $_GET['product_name'];
$loop = 0;
$auction_price_db = 0;
$id_product = id_from_product_name($product_name);
$doc = new DOMDocument();
$doc->load('C:/wamp/www/store/connections/auctions.xml');
$xpath = new DOMXPath($doc);
$xml_offers = simplexml_load_file('C:/wamp/www/store/connections/offers.xml');
$xml_auctions = simplexml_load_file('C:/wamp/www/store/connections/auctions.xml');
foreach ($xml_auctions->auction as $auction){
if ($auction->auction_id == $id_product) {
$auction_price_db = (string)$auction->start_price;
$item = $loop;
break;
}
$loop++;
}
foreach ($xml_offers->offer as $offer){
if ($offer->id_product == $id_product) {
$user_offer = (string)$offer->price;
if ($user_offer > $auction_price_db) {
$parent = $doc->getElementsByTagName('auction')->item($item);
$query = $xpath->query('start_price',$parent);
$query->item(0)->nodeValue = $user_offer;
$doc->save('C:/wamp/www/store/connections/auctions.xml');
$xml_products = simplexml_load_file('C:/wamp/www/store/connections/products.xml');
foreach ($xml_products->product as $product){
if ($id_product == $product->product_id) {
$product->price = $user_offer;
$xml_products->asXML('connections/products.xml');
}
}
$response = "{\"user_offer\":\"".$user_offer."\"}";
}
}
}
echo <<<HERE_DOC
$response
HERE_DOC;
?>
В успехе AJAX У меня есть предупреждение, чтобы увидеть, если данные из AJAX является right.But ответ он с этим. .
<br />
<font size='1'><table class='xdebug-error xe-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>(!)</span> Fatal error: Call to undefined function id_from_product_name() in C:\wamp\www\store\maxPrice.php on line <i>6</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>692568</td><td bgcolor='#eeeeec'>{main}()</td><td title='C:\wamp\www\store\maxPrice.php' bgcolor='#eeeeec'>..\maxPrice.php<b>:</b>0</td></tr>
</table></font>
Почему я получаю этот ответ? Если я пытаюсь удалить весь код из maxPrice и эхо только $ PRODUCT_NAME, что я передайте его в запросе ajax, я получу нужные данные.
'неопределенные функции id_from_product_name() в C: \ WAMP \ WWW \ магазин \ maxPrice.php на линии 6', кажется, это проблема, поэтому '$ id_product = id_from_product_name ($ product_name);' бомбардирует – MonkeyZeus
. Возникла ошибка, и вы отправляете обратно стек вызовов. Ошибка в нем «Fatal error: Call to undefined function id_from_product_name() в C: \ wamp \ www \ store \ maxPrice.php on line ..» – Gjohn
Почему? Я знаю, что эта функция работает fine.id_from_product_name является другой php-файл. Я должен поместить его в то же самое? – user3071235