【问题标题】:JSON does not work in ajaxFormJSON 在 ajaxForm 中不起作用
【发布时间】:2016-03-05 03:00:19
【问题描述】:

这只是不可能。我找不到问题所在!!考虑以下非常简单的testing code

<head>
<script type="text/javascript" src="js/jquery-1.11.1.js"></script>
<script src="js/jquery.form.js"></script>   <!--AJAX JQUERY FORM PLUGIN-->
</head> 
<body>   

<script>
$(document).ready(function() { 
    $('#form1').ajaxForm({ 
        dataType:  'json',      
        success: function () { 
           alert(5);    
        }            
    });
}); 
</script>

<form action="proceed.php" method="post" name="form1" id="form1" >
   <input type="submit" name="one_button" id="one_button" value="GO" />
</form>
</body>

以及proceed.php的代码:

<?php
  $message= 'success';  
  echo json_encode($message); 
?> 

除非我减去行dataType: 'json',否则上述代码不会在单击按钮时发出“5”警报。 PHP中的问题是没有正确发送json数据吗?我不知道... 疯狂的是我已经多次使用这个代码,一切都很好!!!

【问题讨论】:

  • 我只是好奇你为什么在没有sourceurl 的情况下进行ajax 调用?
  • 那是ajax表单插件@Naruto它从表单动作中获取url
  • 啊,抱歉,我不知道,以为这只是一个 ajax 调用
  • 我在 php 中没有看到 json 标头
  • 您的代码没有问题,请确保您的表单已提交..您可以使用firebug浏览器插件检查错误..

标签: php json ajax ajaxform


【解决方案1】:

请将您的 $message 作为数组。您的代码必须如下所示。

<?php
  $message[]= 'success';  
  echo json_encode($message); 
?>

http://php.net/manual/en/function.json-encode.php

【讨论】:

  • 检查浏览器的网络部分,看看你的 ajax 调用是否正常。如果不是在您的提交按钮上应用 onclick 功能。删除动作文件名。而不是在 ajax 调用 js 代码中给出你的 url
【解决方案2】:
 $message= 'success';  

必须是数组;

 $message[]= 'success';  

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 2013-07-19
    • 2015-10-19
    • 2014-07-19
    • 2011-06-02
    • 2015-06-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    相关资源
    最近更新 更多