jquery 回调没有被触发

标签 jquery ajax json jsp struts2

我一直在尝试使用struts和json在我的jsp中显示json数据。我正在使用 jquery post 将数据发送到操作类,成功后,它应该触发 jquery post 的回调函数。但是回调没有被触发。

我无法找到其中缺少的链接。

这是我的代码..

我的struts xml..

   <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">

   <struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
<constant name="struts.devMode" value="false" />
<constant name="struts.custom.i18n.resources" value="ApplicationResources"></constant>

<package name="default" extends="json-default">

  <action name="some" class="action.Testing">
    <result type="json">
     <param name="root">displaying</param>
     <param name="noCache">true</param>
    </result>

  </action>

 </package>

 </struts>

我的jsp页面如下..

 <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  pageEncoding="ISO-8859-1"%>
  <%@ taglib prefix="s" uri="/struts-tags" %>
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  http://www.w3.org/TR/html4/loose.dtd">
 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>


<SCRIPT type="text/javascript" src="javascript/json.js"></SCRIPT>
<SCRIPT type="text/javascript" src="javascript/jquery.js"></SCRIPT>
<SCRIPT type="text/javascript" src="javascript/jquery.form.js"></SCRIPT>
 <script type="text/javascript">

  function somecallback(displaying){


     var result = displaying.split(",");

  var dataintext = result[0];

    $('#sub').val(dataintext);

   }


  function test(){

    var input = { "text" : "testing entry data",
               "displaying" : "hello"
            };  

       $.post('some.action',input,somecallback,"json");
  }

    $(function(){
    $('#field').click(function(){
     test();
     return false;
     });

 </script>
 </head>
 <body>
 <s:form method="post">
 hello..
<s:submit id="field" value="click me too!!"></s:submit>
<s:textarea id="sub" name="tes" value="%{text}"></s:textarea>
<s:textarea id="second" name="tester"></s:textarea>
<div id="flag" style="height:100px;width:20px;">sfdsf</div>
<input type="text" id="hi" name="help" value="clicked here!!" />"
</s:form>
</body>
</html>

非常感谢任何建议和帮助..

谢谢你, 赫曼斯。

最佳答案

尝试更改链接脚本的顺序,jquery 应该位于使用 jquery 的任何文件之前

<SCRIPT type="text/javascript" src="javascript/jquery.js"></SCRIPT>
<SCRIPT type="text/javascript" src="javascript/json.js"></SCRIPT>
<SCRIPT type="text/javascript" src="javascript/jquery.form.js"></SCRIPT>

另外,不要使用 onclick 使用:

$('#field').click(function(){
   test();
});

关于jquery 回调没有被触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8208981/

相关文章:

python - 在Python中迭代文本文件的内容

php - 在表单上提交发送电子邮件+打开弹出窗口

javascript - 使用 JS 从不同页面获取图像源 URL

javascript - AJAX - 每当调用 AJAX 脚本时,Javascript 就会中断

javascript - ajax中for循环中使用的.length和用于数字输出的.length有什么区别?

javascript - 用变量解析 getJson

javascript - 使用按钮处理 "simulate"鼠标松开、鼠标移动和鼠标按下事件

javascript - 在另外两个类之间切换元素的简单而优雅的方法

ajax - 如果您在服务器上使用他们的 SDK,Paypal REST API 真的符合 PCI 标准吗?可能的客户端解决方案?

json - Jbuilder:如何对哈希数组进行编码?