AJAX不基于DOM元素发送有效数据

时间:2015-11-26 19:11:37

标签: jquery ajax spring dom

我有一个通用问题,当通过AJAX将DOM元素的数据发送到服务器时间歇性地发生,我找不到重现它们的方法。

有很多页面通过AJAX从DOM发送数据(如<?php foreach ($allposts as $posts) { echo '<div class="col-sm-1"> <div class="thumbnail"> <img class="img-responsive user-photo" src="https://ssl.gstatic.com/accounts/ui/avatar_2x.png"> </div><!-- /thumbnail --> </div><!-- /col-sm-1 --> <div class="col-sm-11"> <div class="panel panel-default companel"> <div class="panel-heading companel-heading"> <strong><a href="'.base_url('home/user/'.$posts->author_name).'">'.$posts->author_name.'</a></strong> <span class="text-muted">'.unix_to_human($posts->post_date).'</span> </div> <div class="panel-body"> '.$posts->post.' </div><!-- /panel-body --> </div><!-- /panel panel-default --> </div><!-- /col-sm-11 -->'; } ?> $("#id").val()),在某些情况下,用户会抛出以下异常:

  

“无法将id'undefined'转换为Long” - 尝试操作应该是数字的id时

     

“页面不存在” - 当Spring MVC控制器尝试使用从表单(related)发送的数据时

我能够重现其中一些案例的一种方法是在页面加载时触发AJAX调用的页面上刷新大量页面刷新,而不是在用户交互上具有AJAX调用的页面上(例如按钮单击) )。

我真的很困惑这个问题,因为如果我从$("#form").serialize()调用切换到$(document).ready()我将不会在页面加载时有AJAX调用的页面上获得异常,但这不是在这种情况下解决它的正确方法,因为我不想/必须等待脚本和图像加载,并且它不能解决AJAX绑定到用户事件的页面的问题。

我假设服务器总是向用户发送正确的DOM(因为我从来没有能够重现大多数情况),那么为了获得这些异常会发生什么呢?

0 个答案:

没有答案