ajaxForm 500内部服务器错误

时间:2013-11-20 03:40:46

标签: php ajax symfony1

你好我正在使用comments.ay问题是为什么错误是500内部服务器错误???,我的代码和js库在那里,我不太明白为什么500内部服务器错误..这是我的代码下方。

<script>
  $(document).ready(function(){
    $("#tbl_comments").hide();
    //$("#loading").hide();
    $("#ptxt_green").hide();

    $('#comment_form').ajaxForm({  
      target: '.result',
      beforeSubmit: validate,
      success: function(data) {
        alert(data);
      }
    });

    $("#loading")
      .hide()
      $(".result").show()
      .ajaxStart(function(){
        $(this).show();
        $(".result").hide();
        $("#loading").show();
      })
      .ajaxStop(function(){
        $(this).hide();
        $(".result").show();
      })
    ;


  });
  function validate(){
    var comment = $('textarea[name=txt_comment]').fieldValue();
    if(!comment[0]){
      $("#ptxt_green").fadeIn();
      $("#ptxt_green").fadeOut(3000);

      return false;
    }
  }
</script>
<?php $sf_response->setTitle(myTitleFactory::getPageTitle('seminar_detail', 'frontend',array('%seminar_title%'=>$seminar->getTitle())));?>
<?php myTools::loadBreadSlot(array(
  myBreadcrumbFactory::get('seminar-list', 'frontend'),
  myBreadcrumbFactory::get('seminar', 'frontend', array('slug' => $seminar->getSlug()), $seminar->getTitle())))  
?>

    <h1><?php echo $seminar->getTitle(); ?></h1>

    <div class="table_seminar_wrap">
    <table class="table_seminar" cellspacing="0" cellpadding="0" border="0" summary="info table">
      <tr>
        <th>Employee Id</th>
        <td><?php echo $seminar->getId(); ?></td>
      </tr>
      <tr>
        <th valign="top">情報公開日</th>
        <td><?php echo $seminar->getPublishDate() .' '.$seminar->getPublishHour(); ?>時</td>
      </tr>
      <tr>
        <th valign="top">セミナースキーム</th>
        <td><?php echo $seminar->getStyle(); ?></td>
      </tr>
      <tr>
        <th valign="top">日程</th>
        <td><?php echo $seminar->getSeminarDate() .' '.$seminar->getStartTime() .' ~'.$seminar->getEndTime(); ?></td>
      </tr>
      <tr>
        <th valign="top">前振りの文章</th>
        <td><?php echo $seminar->getRawValue()->getSummary(); ?></td>
      </tr>
      <tr>
        <th valign="top">タイトル</th>
        <td><?php echo $seminar->getTitle(); ?></td>
      </tr>
      <tr>
        <th valign="top">サブタイトル</th>
        <td><?php echo $seminar->getSubTitle(); ?></td>
      </tr>
      <tr>
        <th valign="top">開催地</th>
        <td><?php echo $seminar->_getAddress(ESC_RAW); ?></td>
      </tr>
      <tr>
        <th valign="top">会場</th>
        <td>
          <?php if($seminar->getLocationName()) : ?>
            <?php echo $seminar->getLocationName(); ?><br>
          <?php endif; ?>
          <?php if($seminar->getRoomName()) : ?>
            <?php echo $seminar->getRoomName(); ?>
          <?php endif; ?>
        </td>
      </tr>
      <?php if($seminar->getLocationName()) : ?>
      <tr>
        <th valign="top">会場URL</th>
        <td><a href="<?php echo $seminar->getLocationUrl(); ?>" target="_blank" rel="nofollow"><?php echo $seminar->getLocationUrl(); ?></a></td>
      </tr>
      <?php endif; ?>
      <tr>
        <th valign="top">内容</th>
        <td><?php echo $seminar->getRawValue()->getDetail(); ?></td>
      </tr>
      <tr>
        <th valign="top">キーチャート</th>
        <td>
          <?php if($seminar->getImagePath()): ?>
            <a href="<?php echo $seminar->getImagePath(); ?>" target="_blank">
              <img style="width:300px;" src="<?php echo $seminar->getImagePath(); ?>"/></a>
          <?php endif; ?>
        </td>
      </tr>
      <tr>
        <th valign="top">対象</th>
        <td>
          <?php foreach($seminar->getTarget() as $target): ?>
            <?php echo $target; ?>
          <?php endforeach;?>
        </td>
      </tr>
      <tr>
        <th valign="top">定員・残席状況</th>
        <td><?php echo $seminar->getCapacity(); ?>人</td>
      </tr>
      <tr>
        <th valign="top">参加料</th>
        <td><?php echo $seminar->getPrice(); ?></td>
      </tr>
      <tr>
        <th valign="top">担当者</th>
        <td><?php echo $seminar->getEmployee()->getName(); ?></td>
      </tr>
      <tr>
        <th valign="top">講師</th>
        <td>
          <img class="instructorImage" alt="Instructor Image" src="<?php echo $seminar->getInstructor()->_getImagePath(); ?>" /><br>
          <span><?php echo $seminar->getInstructor()->getName(); ?><span>
        </td>
      </tr>
      <tr>
        <th valign="top" style="width:170px">ご参加の皆様へのメッセージ</th>
        <td><?php echo $seminar->getRawValue()->getMessage(); ?></td>
      </tr>
      <?php if($sf_user->isAuthenticated() && !$seminarXPerson): ?>
        <tr>
          <td style="text-align:center;" colspan="2">
            <div class="blueBtnLink">
              <a href="<?php echo url_for('seminar/apply?id='.$seminar->getId()); ?>" title="応募する"><span>応募する</span></a>
           </div>
          </td>
        </tr>
      <?php elseif(!$sf_user->isAuthenticated()): ?>
      <tr>
        <td style="text-align:center;" colspan="2">
          <div class="blueBtnLink">
            <a href="<?php echo url_for('seminar/apply?id='.$seminar->getId()); ?>" title="応募する"><span>応募する</span></a>
         </div>
        </td>
      </tr>
      <?php endif; ?>
    </table>
    <div id="ptxt_green">
      <p>Please Write A Comments. . .</p>
    </div>
    <br />
    <?php if($sf_user->isAuthenticated()): ?>
    <form id="comment_form" action="<?php echo url_for('seminar/comment');?>" method="post">
      <textarea id="txt_comment" name="txt_comment"></textarea>
      <input type="submit" value="Write Comments" />
      <br />
      <br />
      <div id="loading" style="text-align:center;">
        <img alt="" src="/images/loading.gif" />
      </div>
      <div class="result">
        <table id="tbl_comments">
          <tr>
            <td width="10%">Comments:</td>
            <td>asasa</td>
          </tr>     
        </table>
      </div>
    </form>
    <?php endif; ?>
</div>

我的php文件就是这个

<?php
class commentAction extends sfAction{

    public function execute($request){
      echo "test"; exit();
      //echo "qwqqwqqw"; exit();
      //$post = $request->getParameter('seminar');
      ////print_r($post);exit();
      //$comment = new SeminarComments();
      //$comment->setComments($post['txt_comment']);
      //$comment->save();
      //$this->redirect('seminar');

    }
  }
?>

那。为什么500内部服务器出错?这是来自js?错误? neeeeeeeeeeedly helply

2 个答案:

答案 0 :(得分:1)

您没有提供足够的信息让任何人给您一个明确的答案,但这里有一些疑难解答提示:

检查您的服务器日志。要查找它们的位置,请参阅https://serverfault.com/questions/287079/cant-find-apache-error-logs并尝试grep,请尝试以下几种方法(直接从引用的ServerFault中窃取)问题)

  • grep ErrorLog /usr/local/etc/apache22/httpd.conf
  • grep ErrorLog /etc/apache2/apache2.conf
  • grep ErrorLog /etc/httpd/conf/httpd.conf

找到服务器日志后,找到与500错误对应的日志条目。如果您很难找到它,请向您的客户提出另一个请求,然后尝试查找最新的日志条目。

JavaScript中可能的错误来源包括:

  • 拨打错误的网址
  • 使用错误的参数调用正确的网址
  • 调用正确的URL和参数,但格式错误(即JSON与XML)
  • 使用错误的方法调用正确的URL,参数和格式(即GET与POST)
  • 调用正确的URL /参数/格式/方法,但发送Web服务器拒绝的伪造数据(即某些服务器配置为自动拒绝某些看似恶意的字符串)

顺便说一下您发布的服务器端代码并​​不能说明整个故事。它是一个简单的类,但依赖于复杂的框架,您需要检查框架配置以查看是否一切正常。特别是,尝试直接调用操作(即在您的Web浏览器中,而不是通过jQuery / JS)。如果它不起作用,请尝试调用其他操作,看看它是否有效。如果您无法执行任何操作,则可能是框架配置问题。我不熟悉symfony,但如果我被迫成为这样,我会从那里开始。

如果您可以向我们提供错误日志,那将非常有用。

答案 1 :(得分:0)

尝试从ajaxCall调用dev控制器。 通常,您调用生产控制器index.php,但它不提供有关错误的任何有用信息。尝试调用front_dev.php,而不会返回有关错误的其他信息。 (您的开发者控制器的名称通常是您的应用名称后缀为_dev.php,因此front_dev.php假设您的应用名称是前置,这是默认btw)