Valaki eltudná mondani mi a hiba az alábbi kódban?
Hibaüzenet nincs, viszont a div belsejébe azt kapom, hogy undefined plusz a <br />. Igazából ez csak egy próbálkozás volt arra, hogy van pár adat amit a jQuery segítségével elküldök a phpnak, majd a php ezeket egy stdClass-ba rendezi és visszaküldi a scriptnek, amit ki akartam listázni a feed_back divembe.
Jó lenne ha valaki tudna segíteni abban, hogy ez miért nem sikerült / elmagyarázni, hogy hogyan is kéne ezt ha más lehetőség is van ilyesmire(:
index.html:
<html>
________<head>
________________<script type="text/javascript" src="js/jquery.js"></script>
________________<script type="text/javascript" src="js/script.js"></script>
________</head>
________________<body>
________________<input type="text" id="name" /><br />
________________<textarea id="text" cols="25" rows="7">
index.html:
<html>
______<head>
____________<script type="text/javascript" src="js/jquery.js"></script>
____________<script type="text/javascript" src="js/script.js"></script>
______</head>
____________<body>
____________<input type="text" id="name" /><br />
____________<textarea id="text" cols="25" rows="7"></textarea><br />
____________<input type="button" id="btn" value="Küldés!"/>
____________<div id="feed_back"></div>
____________</body>
</html>
script.js:
$(document).ready(function(){
______var name = $('#name').val();
______var text = $('#text').val();
______$('#btn').click(function(){
____________$.post('json.php',{
____________name: name,
____________text: text
____________}).error(function(){
__________________console.log('Error!');
____________}).success(function(data){
__________________$('#feed_back').html(data.username+'<br />');
__________________$('#feed_back').html(data.comment+'<br />');
____________});
______});
});
json.php:
<?php
______if(isset($_POST['name'],$_POST['text'])&&!empty($_POST['name'],$_POST['text'])){
____________$name = $_POST['name'];
____________$text = $_POST['text'];
____________$std = new stdClass();
____________$std -> username = $name;
____________$std -> comment = $text;
____________echo json_encode($std);
______}
?>
Jsfidde sztornó - PHP-t nem kezel. ;)
index.html (végére raktam a <script> taget - PageSpeed/YSlow javaslat alapján):
<!DOCTYPE html>
<html>
__<head>
____<meta charset="utf-8" />
__</head>
__<body>
____<input type="text" id="name" /><br />
____<textarea id="text" cols="25" rows="7"></textarea><br />
____<input type="button" id="btn" value="Küldés!"/>
____<div id="feed_back"></div>
____<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
____<script type="text/javascript" src="script.js"></script>
__</body>
</html>
script.js (változók kiszanálása, második html() függvény append()-re cserélése - hozzáfűzünk, $.parseJSON() - mert JSON-választ kapunk):
$(document).ready(function(){
__$('#btn').click(function(){
____$.post('json.php',{
______name: $('#name').val(),
______text: $('#text').val()
____}).error(function(){
______console.log('Error!');
____}).success(function(data){
______$('#feed_back').html($.parseJSON(data).username+'<br />');
______$('#feed_back').append($.parseJSON(data).comment+'<br />');
____});
__});
});
json.php (Egyszerűsítések):
<?php
__if(isset($_POST['name']) && isset($_POST['text']) && !empty($_POST['name']) && !empty($_POST['text'])){
____$resp = array("username"=>$_POST["name"],"comment"=>$_POST["text"]);
____echo json_encode($resp);
__}
?>
A kis cseles jQuery.parseJSON() volt a gond x.x (: köszönöm a válaszokat és úgy látom, hogy végülis #5-ös megoldotta:D
Mire visszaértem magamtól is rájöttem, de azért köszi, és a többi javítását is(:
Illetve köszi a többieknek is a tippeket a másik oldalakról:)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!