Railsにすでに組み込まれているAPIに接続する最初のPhoneGapアプリケーションを構築しています。ユーザーがコンテンツを投稿できるセクションがありますが、ユーザーが[送信]をクリックすると、問題なくフォームが送信され、投稿が追加されます。結構ですが、ユーザーがアプリの別のセクションに移動すると、投稿の2番目のコピーが表示されます。サーバーコンソールを見ると、投稿が複数回表示されます。もう1つの非常に奇妙なことは、ユーザーがそのセクションで再度投稿を続けると、追加の投稿の上に追加の投稿が追加され、ユーザーが同じ投稿を一度に10回作成するまで続きます。
なんらかの理由で関数を複数回ループしているように見えますが、理由はよくわかりません。
jQuery('#new_rave').live('submit', function( event ) {
しかし、私が試した他の方法では、ページが読み込まれません。
Jquery / JS
<!-- Load Json data and events -->
<script type="text/javascript">
jQuery('#new_rave').live('submit',function( event ) {
$.ajax({
url: 'http://whoops/goodtimes',
type: 'POST',
dataType: 'json',
data: $('#new_rave').serialize(),
success: function( data ) {
for( var id in data ) {
jQuery('#').html(data[id]);
}
}
});
return false;
});
$(document).ready(function() {
$.getJSON('http://whoops/goodtimes', function( goodtimes ) {
$.each(goodtimes, function( goodtime ) {
var output =
"<li><a href="+this.goodtime.id+">" +
"<h3>" + this.goodtime.title + "</h3>" +
"<p>" + this.goodtime.post + "</p>" +
"<p class='ui-li-aside'><strong>" +
this.goodtime.created_at + "</strong></p>" +
"</a></li>";
$('#content ul').append(output).listview('refresh');
});
});
});
</script>
フォーム
<!-- New item Popup -->
<div data-role="popup" class="ui-content"
data-overlay-theme="a" data-position-to="window" id="add">
<form id="new_rave">
<label for="goodtime_title">Title</label>
<input type="text" name="goodtime[title]" id="goodtime_title">
<label for="goodtime_post">Rave</label>
<div data-role="fieldcontain">
<textarea name="goodtime[post]" id="goodtime_post"></textarea>
</div>
<input type="submit" value="submit">
</form>
</div>
そしてコンテンツdiv
<div id="content" data-role="content">
<ul data-role="listview" data-theme="d" data-divider-theme="d"></ul>
</div><!-- /content -->