PHP и JavaScript POST - PullRequest
       3

PHP и JavaScript POST

0 голосов
/ 27 марта 2011

У меня есть следующий код:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript">
</script>
<script type="text/javascript">


 function displayTweet(){
var i = 0;
var limit = $("#twitter-results > div").size();
var myInterval = window.setInterval(function () {
var element = $("#twitter-results div:last-child");
$("#twitter-results").prepend(element);
element.fadeIn("slow");
i++;
if(i==limit){
window.setTimeout(function () {
clearInterval(myInterval);
});
}
},2000);
}

$("form#twittersearch").submit(function() {
twitterq = $('#twitterq').attr('value');
$.ajax({
type: "POST",
url: "search.php",
cache: false,
data: "twitterq="+ twitterq,
success: function(html){
$("#twitter-results").html(html);
displayTweet();
}
});
return false;
});
});

</script>

</head>
<div class="twitter_container">
<form id="twittersearch" method="post" action="">
<input name="twitterq" type="text" id="twitterq" />
<button type="submit">Search</button>
</form>
<div id="twitter-results"></div>
</div>
</html>


/***************THIS IS search.php***************************/

<?php
include('twitterapi.php');
if($_POST['twitterq']){
$twitter_query = $_POST['twitterq'];
$search = new TwitterSearch($twitter_query);
$results = $search->results();

foreach($results as $result){
    echo '<div class="twitter_status">';
    echo '<img src="'.$result->profile_image_url.'" class="twitter_image">';
    $text_n = toLink($result->text);
    echo $text_n;
    echo '<div class="twitter_small">';
    echo '<strong>From:</strong> <a href="http://www.twitter.com/'.$result->from_user.'">'.$result->from_user.'</a&glt;: ';
    echo '<strong>at:</strong> '.$result->created_at;
    echo '</div>';
    echo '</div>';
}
}
?>

Почему, когда я делаю var_dump($_POST['twitterq']), это всегда NULL?

UPDATE:

firebug дал мне это, но не уверен, как это исправить:

enter image description here

enter image description here

1 Ответ

0 голосов
/ 27 марта 2011

Это потому, что вы не предоставляете данные должным образом. Должно быть:

data: ({twitterq: twitterq}),

Вы отправляете данные в форме JSON. Вы не используете параметры URL, поэтому вам не нужно вводить '='. если у вас есть более одного параметра, вы просто разделите их запятыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...