0

所以我有这个带有 method="POST" enctype="multipart/form-data" 的表单页面,我将我的操作设置为这个 php 文件。在这个 php 文件中,我将 php 代码包含在标签中,然后将 javascript 代码包含在 php.ini 之后的标签中。我想要它,这样当我提交表单时,php 和 javascript 代码都会运行。当我在我的计算机上本地托管它时,这工作正常。但是,它似乎不适用于我需要托管它的服务器。我在 javascript 代码的第一行添加了一个 alert(),但它没有运行。有谁知道为什么会发生这种情况/我可以调试它的方式?非常感谢。

(我不认为这很重要,但另外表单正在提交到 iframe 以防止页面更改)

-D 用于提交表单的 jQuery:

          $("#saved_form").submit(function(e)
            {
            e.preventDefault();
            this.submit();
            ... }

以下是 php/javascript 代码:

  <?php
  include 'readFile2.php';
  readText();
  ?>
  <script type='text/javascript'>
  alert("oh no");
  var errors = "<?= $_POST['error'] ?>";
  parent.window.saveLoad = 0;
  //checks if text file is entered
  if (errors == 1) 
  {
   alert("Please enter a text file");
  }
  else if (errors == 2)
  {
  alert("File must be text");
   }
  else
  {
  parent.window.saveLoad = 1;
  parent.window.saved_form = <?php echo json_encode($savedForm); ?>;
  }
  </script>
4

1 回答 1

0

作为对 php 页面的 Ajax 调用,这将更加恰当。

例如:

$('#submitbtn).click(function(event){
     event.preventDefault();

    $.ajax({
         url: "readFile2.php",                              
         timeout: 30000,
         type: "POST",
         data: $('#saved_form').serialize(),
         dataType: 'json',
         error: function(XMLHttpRequest, textStatus, errorThrown)  {
              alert("An error has occurred making the request: " + errorThrown)
         },
         success: function(data){   
              alert('it works.  You can do more on success of submit here');
         }                                                                                              
     });
 });

所以,总而言之,上面的代码对一个名为“readFile2.php”的文件进行了 ajax 调用) 它期望返回 json 数据(可以更改为文本、html 等)并在帖子成功时提醒“它可以工作......”。PHP 文件必须接受发布的数据,对其进行处理,然后回显您想要返回文件的内容。我更喜欢发送提交状态的 json 字符串,这样我就可以告诉我的界面是否检查失败,以防止错误数据进入数据库。您的表单提交确实有服务器端保护....对吗?!?

于 2012-08-17T16:16:26.400 回答