js加入ajax,怎么运行不了了
以前是学习后台的。刚刚接触ajax,很多问题还不懂,结果代码运行不了,急死了,超级打击积极心。
ajax需要引包吗,但是仅仅是下面的两行代码。。。
为什么运行不了?虚心求教
    var inputElement = document.getElementById("tid");
    alert(inputElement.value);

8个回答

先说下这两行代码

var inputElement = document.getElementById("tid");//检查下id是否存在
alert(inputElement.value); //inputElement 是否为input标签 value 是input , textarea ,和选择框 select 才有的属性
//其他属性使用 innerHTML 或者 innerText

然后

ajax是不需要引用包的.可以用纯js实现

下面是纯js版的ajax

 //定义一个全局变量
var XMLHttpReq;  
//创建ajax对象
function createXMLHttpRequest() {  
    try {  
        XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP");//IE高版本创建XMLHTTP  
    }  
    catch(e) {  
        try {  
            XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP");//IE低版本创建XMLHTTP  
        }  
        catch(e) {  
            XMLHttpReq = new XMLHttpRequest();//兼容非IE浏览器,直接创建XMLHTTP对象  
        }  
    }  

}  
//发送请求
function sendAjaxRequest(url) {  
    XMLHttpReq.open("post", url, true);  
    XMLHttpReq.onreadystatechange = processResponse; //指定响应函数  
    XMLHttpReq.send(null);  
}  
//回调函数  
function processResponse() {  
    if (XMLHttpReq.readyState == 4) {  

        //状态码200表示回调成功
        if (XMLHttpReq.status == 200) {  

            //拿到服务器响应文本
            var text = XMLHttpReq.responseText;  

        }  
    }  

} 

调用步骤

1.创建对象
2.发送请求
3.监听回调

Cboyce
Cboyce 回复IBird_777: 不用客气,搞技术的人需要交流
接近 4 年之前 回复
qq_20265187
boundingbox 谢谢
大约 4 年之前 回复

需要引入jquery,可以下载一个,然后使用
就和引入js文件一样,路径一定要写对,就可以用了

首先,你这是纯js哈,没有ajax,然后你试一下inputElement.val()看看能用么

inputElement.value()这样试试看

检查id写对了没有,代码要放到window.onload中执行或者放到dom对象下面才行,要不找不到对象

你这个和ajax并没有什么关系吧

好好检查一下吧亲,你的代码里根本看不出一点ajax的影子

这个不是ajax,好好看看,你的是js型的ajax还是jquery的ajax,如果不行就把代码贴出来下,也可以去网上直接找ajax代码http://www.cnblogs.com/yeer/archive/2009/07/23/1529460.html,jquery的要jquery包。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
js加入ajax代码之后,js不起作用了
``` <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.SQLException"%> <%@page import="java.sql.Connection"%> <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!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=utf-8"> <title>Insert title here</title> </head> <body> <script type="text/javascript"> function ajaxEx() { alert("hello"); var name = document.insertForm.T_name.value; alert(name); var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); var url ="searchAction?T_name="name; xmlHttp.open("post",url,true); xmlHttp.onreadystatechange=function (){ if(xmlHttp.readystate == 4){ resultDiv.innerHTML +=xmlHttp.responseText; } else{ alert("hello"); } } xmlHttp.send(); } </script> <form method="post" name="insertForm" style="margin-bottom: 50px;margin-top: 50px;"> 请输入要查询的图书的信息:<br/> <br /> 名称:<input type="text" name="T_name" onkeyup="ajaxEx()"> </form> <hr> 书籍信息<br> <ul style="height: 0px ;padding: 0px;margin: 0px;"> <li style="width: 80px;display: inline-block;list-style: none;">名称</li> <li style="width: 40px;display: inline-block;list-style: none;">编号</li> <li style="width: 40px;display: inline-block;list-style: none;">价格</li> </ul><br/> <div id="resultDiv"> </div> </body> </html> # 去掉这部分之后,js就可以弹出了“hello” xmlHttp.open("post",url,true); xmlHttp.onreadystatechange=function (){ if(xmlHttp.readystate == 4){ resultDiv.innerHTML +=xmlHttp.responseText; } else{ alert("hello"); } } xmlHttp.send(); ```
关于ajax中发送不到servlet的问题
## 最近在学ajax,看到教材的这个案例,然后就是实现搜索框文本框输入提示的问题,然后就在js中那个display的函数中就直接执行alert语句,在servlet中加了一个输出语句,然后发现send函数也发送不到servlet有没有大佬知道这个怎么整啊,求 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>search Suggest</title> <script type="text/javascript" src="/ElJstlAjax/js/ajax.js"></script> <script type="text/javascript"> var trSrc; function search() { var inputWord = document.getElementById("inputWord").value; if(inputWord ==""){ clearDivData(); return; } var url = "SearchSuggest"; var params = "inputWord="+inputWord; sendRequest(url,params,"POST",display); } function display() { //alert(httpRequest.readyState+" "+httpRequest.status); if(httpRequest.readyState == 4){ if(httpRequest.status == 200){ var xmlDoc = httpRequest.responseXML; clearDivData(); changeDivData(xmlDoc); }else{ alert("您请求的界面有异常!"); } } } // 清除下拉框中的数据 function clearDivData(){ var tbody = document.getElementById("wordsListTbody"); var trs = tbody.getElementsByTagName("tr"); for(var i=trs.length-1;i>0;i--){ tbody.removeChild(trs[i]); } } // 设置用户选中条目的背景色 function setBgColor() { if(trSrc){ trSrc.style.backgroundColor = "white"; } trSrc = event.srcElement; trSrc.style.backgroundColor = "gray"; } // 将用户选中的条目显示在文本框中 function setText(){ alert("setText"); document.getElementById("inputWorld").value = trSrc.firstChild.data; document.getElementById("wordsListDiv").style.visibility = "hidden"; } // 实际将数据加入下拉提示框 function changeDivData(xmlDoc) { alert("changeDiv"); var words = xmlDoc.getElementsByTagName("word"); var tbody = document.getElementById("wordsListTbody"); for(i=0;i<words.length;i++){ var newTr = document.createElement("tr"); var newCell = document.createElement("td"); var wordText = words[i].firstChild.data; var textNode = document.createTextNode(wordText); newCell.onmouseover = setBgColor; newCell.onclick = setText; newCell.appendChild(textNode); newTr.append(newCell); tbody.appendChild(newTr); } if(words.length>0){ document.getElementById("wordsListDiv").style.visibility = 'visible'; }else{ document.getElementById("wordsListDiv").style.visibility = 'hidden'; } } //设置下拉提示框的位置 function setDivPosition() { var input = document.getElementById("inputWord"); var listdiv = document.getElementById("wordsListDiv"); listdiv.style.left = (input.offsetLeft)+"px"; listdiv.style.border = "blue 1px solid"; listdiv.style.top = (input.offsetTop+input.offsetHeight)+"px"; listdiv.style.width = (input.offsetWidth)+"px"; } </script> </head> <body onload="setDivPosition()"> <p>搜索字符串:<input type="text" id="inputWord" onkeyup="search()"></p> <div id="wordsListDiv" style="position:absolute;visibility:hidden"> <table id="worksListTable"> <tbody id="wordsListTbody"><tr><td>test</td></tr></tbody> </table> </div> </body> </html> ``` ## 下面一个实例就能正常运行 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>表单验证</title> <script type="text/javascript" src="js/ajax.js"></script> <script type="text/javascript"> function formcheck() { var url = "FormCheck"; var params = "userid="+userid.value+"&userpwd="+userpwd.value; sendRequest(url,params,"POST",showresult); } function showresult() { if(httpRequest.readyState == 4){ if(httpRequest.status == 200){ var info =httpRequest.responseText; result.innerHTML=info; } } } </script> </head> <body> <div id="inp"> 请输入用户名:<input type="text" name="userid" onblur="formcheck()"><br> 请输入密码:<input type="password" name=userpwd><br> <input type="button" value="登陆" onclick="formcheck()"> </div> <div id="result"></div> </body> </html> ``` ![图片说明](https://img-ask.csdn.net/upload/201909/21/1569031179_633416.png)
ajax定时访问服务器的action
主要想实现在系统管理员登陆后,能够通过ajax定时去查询服务器中数据库一张表里面一个字段的状态。有两个疑惑: 1 在jsp页面加入定时去访问服务器的JQUERY代码。但是不懂如何在管理员登陆入系统后,怎么触发这个写在jsp页面的方法。 2 服务器端响应ajax请求的action,只要将字符串返回就可以?
求大神解答一个关于ajax请求的问题
``` $.ajax({ url:url, type: "post", data:parameter, beforeSend : function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("aadfasdfsdfasdsasasdcccc","ajax"); }, success: function(data) { } }); ``` 如上代码,我想在一个ajax请求里加入一个请求头部信息,但是我加了这个 beforeSend : function (XMLHttpRequest) { XMLHttpRequest.setRequestHeader("aadfasdfsdfasdsasasdcccc","ajax"); } 报错: Request header field aadfasdfsdfasdsasasdcccc is not allowed by Access-Control-Allow-Headers. 求大神指导 怎样解决啊! 或者有其他方法在js里面的ajax和原生http请求 中**加入请求头部信息的方法**吗? 拜谢~
ajax中如何加入正则表达式
我写的验证方法要不只能验证邮箱存在不存在,要不验证输入是否为空!不能验证邮箱格式是否正确 验证邮箱的正则表达式是 /\w+@\w+\.\w/ 我的代码是 ``` <script type="text/javascript"> $().ready(function (){ $("#zhanghao1").blur(function(){ $("#infor").empty(); var userName=$("#zhanghao1").val(); if(userName.length==0){ $("#infor").append("<h2>账号不能为空</h2>"); }else{ $.post("checkUserName.do",{userName : userName},function(data){ $("#infor").append("<h2>"+data+"</h2>"); }); } }); }); </script> 账号:<input type="text" id="zhanghao1" name="userName"><div id="infor"></div> ```
struts2.1.16上运行ajax报Error: 'dojo' is undefined
承接问题: http://www.iteye.com/problems/15272 http://www.iteye.com/problems/15246 我觉得是不是ajax配置的问题。 关于ajax的配置请参考http://www.iteye.com/problems/15246 [b]问题补充:[/b] 我已经把struts2-dojo-plugin-2.1.6.jar放到WEB-INF/lib目录下,同时在jsp上也加了<sx:head />: [code="java"]<head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> <sx:head /> </head>[/code] 还要怎样呀? [b]问题补充:[/b] to lovewhzlq: 我觉得这个可能是ajax配置的问题。昨天我是按照以下步骤配置ajax的: 1. 在web.xml加入: Java代码 <servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> 2. 在WEB-INF下生成dwr.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd" > Java代码 <dwr> <!-- 定义所有需要被暴露的Java方法 --> <allow> <!-- 定义将org.apache.struts2.validators.DWRValidator创建成一个validator对象 --> <create javascript="validator" creator="new"> <param name="class" value="org.apache.struts2.validators.DWRValidator" /> </create> <!-- 定义一个转换器 --> <convert match="com.opensymphony.xwork2.ValidationAwareSupport" converter="bean" /> </allow> <signatures> <![CDATA[ import java.util.Map; import org.apache.struts2.validators.DWRValidator; DWRValidator.doPost(String,String,Map<String,String>); ]]> </signatures> </dwr> <dwr> <!-- 定义所有需要被暴露的Java方法 --> <allow> <!-- 定义将org.apache.struts2.validators.DWRValidator创建成一个validator对象 --> <create javascript="validator" creator="new"> <param name="class" value="org.apache.struts2.validators.DWRValidator" /> </create> <!-- 定义一个转换器 --> <convert match="com.opensymphony.xwork2.ValidationAwareSupport" converter="bean" /> </allow> <signatures> <![CDATA[ import java.util.Map; import org.apache.struts2.validators.DWRValidator; DWRValidator.doPost(String,String,Map<String,String>); ]]> </signatures> </dwr> 3. 下载dwr.jar 4. 在相关jsp的<head></head>之间加入<s:head theme="ajax" /> 但是,出现以下问题: 1. jsp上不能出现ajax相关的属性 <s:submit target="theForm"></s:submit> jsp报警提示:undefined attribute name(target) 2. 运行时报以下错误: SEVERE: Servlet.service() for servlet jsp threw exception java.io.FileNotFoundException: Template /template/ajax/head.ftl not found. 然后,修改了struts2-core-2.1.6.jar强行加入ajax template。解决了问题2(即/template/ajax/head.ftl not found) 具体请参考:http://www.iteye.com/problems/15246 [b]问题补充:[/b] 改为这个 <sx:head theme="ajax" /> jsp报出警告信息:undefined attribute name(theme)
大家知不知道appcontext是什么
js在做ajax提交时,加入了appContext,jquery中好像也没有这个东西吧,难道是公司框架中自己封装好的嘛??大家有没有见过这个东西 $.ajax({ url: appContext + '/hello/world' })
ajax回调循环拼接字符串可以再用for吗
``` <tr><td>A套餐</td>" + "<td width='90'>YK00009</td>" + "<td>男100元</td>" + "<td>未婚女200元</td>" + "<td>已婚女301元</td>" + "<td width='50'><a href='' target='_blank'>详情</a></td>" + "<td width='70'><a class='addduibi' href='javascript:void(0);'>加入对比</a></td></tr> ``` 这一段是ajax回调for循环拼接的,因为有多个套餐,能否在for里再用for把多个套餐循环拼接
基于SSH框架的AJAX,在struts标签下验证id是否存在,或者使用JQuery和JSON
我在做一个简单的例子,对输入表单进行验证,因为在JSP页面中使用了struts的标签,现在在action名-方法名-validation.xml里进行的验证可以正常工作,但是在尝试利用ajax方式进行异步服务器端验证的时候遇到了困难,查了一些资料,说是struts2.1以后的版本中,不能再用struts标签进行ajax验证,而是要通过struts-dojo标签,而我找了几个这个版本的例子,发现实现的方式是在struts表单中加入onblur属性触发js函数,这样的话还何必使用struts标签的form呢?于是又找了一些不使用<s:form>表单的例子,用到了Jquery.js和json插件,但现在还有一些疑问如下. 1.<s:form>表单中能嵌套使用普通的html标签么?我尝试在<s:form>内部的<s:textfield>后加入<scan id="xxx">这样的标签发现没用,放到<s:form>外面则可以正常显示,那么如果在<s:form>内部想要实现异步验证显示不同的提示应该怎么实现呢? 2.针对一个<s:textfield>提交的内容 比如用户名或者ID这样在数据库中不允许重复的字段,是否只能用onblur="xx"这样的方式来进行失去焦点时进入xx这个js函数进行验证?我看的struts书中对struts2.0中可以通过设置<s:form>中 theme="ajax"来实现,那么相对应的struts2.1版本应该如何实现呢? 3.我又找了不用<s:form>标签的例子,是用jquery.js和json插件,但例子使用的输入只有一个<input>样式的,没有包含在<form>里 那么如果<form>有了提交的action 单独一行的输入如何执行自己单独要执行的验证action呢? 字打的比较多也比较乱,因为我的基础比较差,见谅.
Ajax中type为psot的传参限制解决?
type为post传参有限制,最大为2M。 1、解压缩有一定的压缩率,超过了限制还是不行。 2、修改tomcat的配置文件,加入maxPostSize,是没有限制了,但是后台接收到的参数过大,会内存溢出。 有没有好的方法能够解决,除了文件上传!!!
XML解析错误:未找到元素
Ajax 在IE下运行正常,在火狐下就出现“XML解析错误:未找到元素 ”, 部分代码: function updateselect1(){ var btype=getOs();//判断浏览器类型 var doc; if(btype!="MSIE"){//如果不是IE浏览器,则重新解析xml文档 var parser = new DOMParser(); doc=parser.parseFromString(http_request.responseText, "text/xml"); } else doc = http_request.responseXML; //其他省略 我测试了一下,在上面代码中加入:alert(http_request.responseText);是可以弹出窗口,而且内容也是正确的,但是就是解析不了,不知道出什么问题了?哪位大牛帮我看看,谢谢了!
关于页面加载时间的问题~ajax请求的时间和用script标签加载脚本的时间差多少呢?
在网上找了个用mootools实现的画topo图的模块 它加载网络节点数据的方式是通过在页面头部的script标签里面加入一个写入json数据的脚本<script src="data.js">...,data.js的内容是var nodedata={json数据格式,..,},在加载完data.js后,页面中生成节点图的函数再画图。 我做了一个修改,在服务器端用data.php去打包一个json数据包,执行的结果是echo原来data.js里面的json数据,页面中利用ajax的方式去读这个php返回的数据,再画图。 还没考虑这么修改是否有意义。。但在页面加载速度上后者比前者要慢。 我不明白的地方是——在头部引入的js会发起一个http请求,ajax请求php时也会发起一个http请求,两种方式总的请求数是一样多的,导致加载速度上存在时间差的原因是什么呢? 要怎么去比较这两种请求花费的时间?是否跟页面中脚本执行的顺序什么有关系呢? 啰啰嗦嗦的;P 先谢谢啦
JQuery.load 加载另外一个页面 不执行 ueditor的代码高亮
这问题我承认挺奇葩的,因为不是不执行js或者是css的问题,只说ueditor谁也不知道 它内部实现是咋样的,所以用过ueditor的来回答下。 具体问题是这样的: ueditor如果要显示代码高亮需要一个css两个js分别是: ueditor.parse.min.js、shCore.js、shCoreDefault.css 然后在window.onload时执行SyntaxHighlighter.all()即可。 我要做的事是从A页面调用jquery.load把B页面导入到A页面中 B页面里有上述的三个文件和一个语句还有一个含有代码标签的文章 但就是死活不给高亮,查看元素-》网络里也加载了上述的文件 我以为是不执行js,然后我在代码里加入了alert,却成功运行了,说明js被执行了,但是为什么就不高亮呢,百度说要在回调函数里执行,我试过,也不行 ![成功高亮代码](http://www.cjq.space/res/img/20170510/1494390781106064488.png) ![没有高亮代码](http://www.cjq.space/res/img/20170510/1494390781110033580.png)
<a>标签中加入js方法,通过XMLDocument解析后,显示js方法没调用
下面是代码,哪位大神给看看: ``` function js_method(){ alert(1); } function getfile(ajax){ if(ajax.status==200){ var fileString=""; var resposeValue = eval("("+ajax.responseText+")"); if(resposeValue.success==true){ var data=resposeValue.data; fileString="附件:<br/>"; fileString +="<a href=\"javascript:js_method("+data[i].attPath+");\">"+data[i].attName+"<a>"; //alert(fileString); } } var details="<html><meta content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;\" name=\"viewport\" /><meta http-equiv= \"Content-Type\" content=\"text/html; charset=utf-8\" /><body><DIV style='width:100%;text-align:center;FONT-SIZE: 18px;'>"+newsTitle+"</DIV>"+newsDetials +"<br/>"+fileString+"</body></html>"; var v = new XMLDocument(); v.parseXmlText(details); document.getElementById('browserObj').loadData(details); }else{ alert("网络状况不佳,请稍后重试"); } } ```
ajax跨域 如何从动态生成的script中获得script的内容
** *已知服务器返回的是一个json格式的字符串,根据ajax跨域获得服务器json字符串如下:* ** // 创建script标签,设置其属性 var script = document.createElement('script');    script.setAttribute("type","text/javascript");    script.setAttribute('src', temp); script.setAttribute('id', "zz"); // 把script标签加入head,此时调用开始 document.getElementsByTagName('head')[0].appendChild(script); ** *html中已显示json字符串如下:* ** <script id="zz" type="text/javascript" src="http://42.121.59.98:8008/IMerchant/GetAwardsInfo?MerchantID=bozhong&LottType=07&IssueName=2013121237&CheckSumCode=6b660cd63672495044e6ecc6ad8fd4d6"> {"Return":"{\"AwardsInfo\":[{\"LottType\":\"07\",\"IssueName\":\"2013121237\",\"IssueNo\":\"0\",\"RaffleNumber\":\"0215040701140905\",\"PrizeNo\":\"1\",\"BetAmount\":0,\"PrizePool\":0,\"PrizeInfo\":[{\"PrizeName\":\"选一数投\",\"BonusPerBet\":2500,\"BetCount\":0},{\"PrizeName\":\"选一红投\",\"BonusPerBet\":500,\"BetCount\":0},{\"PrizeName\":\"选二任选\",\"BonusPerBet\":800,\"BetCount\":0},{\"PrizeName\":\"选二连直\",\"BonusPerBet\":6200,\"BetCount\":0},{\"PrizeName\":\"选二连组\",\"BonusPerBet\":3100,\"BetCount\":0},{\"PrizeName\":\"选三任选\",\"BonusPerBet\":2400,\"BetCount\":0},{\"PrizeName\":\"选三前直\",\"BonusPerBet\":800000,\"BetCount\":0},{\"PrizeName\":\"选三前组\",\"BonusPerBet\":130000,\"BetCount\":0},{\"PrizeName\":\"选四任选\",\"BonusPerBet\":8000,\"BetCount\":0},{\"PrizeName\":\"选五任选\",\"BonusPerBet\":32000,\"BetCount\":0}]}],\"RetCode\":\"000000\"}","CheckSumCode":"dc53aa1ace464abae7aeee7590f56f2b"} </script> ** *但是无论如何都获取不到$("#zz")里面json的内容,根据$("#zz").html()获取的是空* **
如何在structs2.1.6中配置ajax,请给出具体代码和步骤
如何在structs2.1.6中配置ajax,请给出具体代码和步骤 [b]问题补充:[/b] 我用的是structs 2.1.6, 经过以下步骤配置ajax: 1. 在web.xml加入: [code="java"] <servlet> <servlet-name>dwr</servlet-name> <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>[/code] 2. 在WEB-INF下生成dwr.xml文件,内容如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd" > [code="java"]<dwr> <!-- 定义所有需要被暴露的Java方法 --> <allow> <!-- 定义将org.apache.struts2.validators.DWRValidator创建成一个validator对象 --> <create javascript="validator" creator="new"> <param name="class" value="org.apache.struts2.validators.DWRValidator" /> </create> <!-- 定义一个转换器 --> <convert match="com.opensymphony.xwork2.ValidationAwareSupport" converter="bean" /> </allow> <signatures> <![CDATA[ import java.util.Map; import org.apache.struts2.validators.DWRValidator; DWRValidator.doPost(String,String,Map<String,String>); ]]> </signatures> </dwr>[/code] 3. 下载dwr.jar 4. 在相关jsp的<head></head>之间加入<s:head theme="ajax" /> [b]但是,出现以下问题:[/b] 1. jsp上不能出现ajax相关的属性 <s:submit target="theForm"></s:submit> jsp报警提示:undefined attribute name(target) 2. 运行时报以下错误: SEVERE: Servlet.service() for servlet jsp threw exception java.io.FileNotFoundException: Template /template/ajax/head.ftl not found.
ajax的readyState状态码一直是1.为什么?
``` <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> ajax(); function ajax(){ var xhr=new XMLHttpRequest(); xhr.open("get","1.txt",true); xhr.responseType="text"; xhr.onreadyStatechange=function(){ if(xhr.readyState==4 && xhr.status==200){ var t=xhr.responseText; alert(t); } }; xhr.send(null); } </script> 我通过本地服务器想把text文件的文本直接加入到HTML中,可是根本没有响应,也没有报错。 ```
关于js函数调用不起作用的问题
今天在学习ajax的时候,按照课本上的步骤,但是最后没有任何效果 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>search Suggest</title> <script type="text/javascript" src="/js/ajax.js"></script> <script type="text/javascript"> var trSrc; //设置下拉提示框的位置 function setDivPosition() { alert("error"); var input = document.getElementById("inputWord"); var listdiv = document.getElementById("wordsListDiv"); listdiv.style.left = (input.offsetLeft)+"px"; listdiv.style.border = "blue 1px solid"; listdiv.style.top = (input.offsetTop+input.offsetHeight)+"px"; listdiv.style.width = (input.offsetWidth)+"px"; } function search() { alert("search?"); var inputWord = document.getElementById("inputWord").value; var url = "SearchSuggest"; var params = "inputWord="+inputWord; sendRequest(url,params,"POST",display); } function display() { alert("display?"); if(httpRequest.readyState == 4){ if(httpRequest.status == 200){ var xmlDoc = httpRequest.responseXML; clearDivData(); changeDivData(xmlDoc); }else{ alert("您请求的界面有异常!"); } } } // 清除下拉框中的数据 function clearDivData(){ alert("clearDiv"); var tbody = document.getElementById("wordsListTbody"); vat trs = tbody.getElementsByTagName("tr"); for(var i=trs.length-1;i>0;i--){ tbody.removeChild(trs[i]); } } // 设置用户选中条目的背景色 function setBgColor() { if(trSrc){ trSrc.style.backgroundColor = "white"; } trSrc = event.srcElement; trSrc.style.backgroundColor = "gray"; } // 将用户选中的条目显示在文本框中 function setText(){ alert("setText"); document.getElementById("inputWorld").value = trSrc.firstChild.data; document.getElementById("wordsListDiv").style.visibility = "hidden"; } // 实际将数据加入下拉提示框 function changeDivData(xmlDoc) { alert("changeDiv"); var words = xmlDoc.getElementsByTagName("word"); var tbody = document.getElementById("wordsListTbody"); for(i=0;i<words.length;i++){ var newTr = document.createElement("tr"); var newCell = document.createElement("td"); var wordText = words[i].firstChild.data; var textNode = document.createTextNode(wordText); newCell.onmouseover = setBgColor; newCell.onclick = setText; newCell.appendChild(textNode); newTr.append(newCell); tbody.appendChild(newTr); } if(words.length>0){ document.getElementById("wordsListDiv").style.visibility = 'visible'; }else{ document.getElementById("wordsListDiv").style.visibility = 'hidden'; } } </script> </head> <body onload="setDivPosition()"> <p>搜索字符串:<input type="text" id="inputWord" onkeyup="search()"></p> <div id="wordsListDiv" style="position:absolute;visibility:hidden"> <table id="worksListTable"> <tbody id="wordsListTbody"><tr><td>test</td></tr></tbody> </table> </div> </body> </html> ``` 其中就是body标签调用的onload,然后文本框调用了onKeyUp,在两个函数里面都加了一条alert语句,然后运行的时候还是什么反应都没有,求大佬给看一下是什么原因
JS制作二级菜单的问题,我使用的innerHTML
先说下问题: 我想用JS的innerHTML添加二级菜单,所以在一级菜单后面加了一个空的div标签 ,然后innerHTML加入内容,并在<li>标记中加入onmouseover和onmouseout 事件。两段代码如下。 现在的问题是 鼠标点了“我的京东”后二级菜单出现,但是,离开二级菜单一直在那挂着,不消失,不知道是因为什么? 求懂得朋友解答!! 另您给解答后,再给说下您感觉比较好的添加二级菜单的方法,10C币奉上,不甚感谢。 ``` <li class="li_c li_me" onmouseover="myMouse();" onmouseout="myMouseOut();"><a href="#">我的京东</a><div id="myid" ></div></li> ``` js代码: ``` <script type="text/javascript"> function $(id){return document.getElementById(id);} //这个里面的id没带“”引号 function myMouse() { $("myid").innerHTML="<table><tr><td><a href=\"#\">我的京豆</a></td><td><a href=\"#\">我的白条</a></td></tr><tr><td><a href=\"#\">返修进度</a></td><td><a href=\"#\">我的会员</a></td></tr></table>"; $("myid").style.position="absolute"; //html中的属性=后面是属性值,属性值要加双引号"" $("myid").style.width="120px"; $("myid").style.height="60px"; $("myid").style.display="block"; } function myMouseOut(){ $("myid").style.display="none"; } </script> ```
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
作者 |胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。 Java程序员准备和投递简历的实...
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车?某胡同口的煎饼摊一年能卖出多少个煎饼?深圳有多少个产品经理?一辆公交车里能装下多少个乒乓球?一个正常成年人有多少根头发?这类估算问题,被称为费米问题,是以科学家费米命名的。为什么面试会问这种问题呢?这类问题能把两类人清楚地区分出来。一类是具有文科思维的人,擅长赞叹和模糊想象,它主要依靠的是人的第一反应和直觉,比如小孩...
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。 背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法 不过,当我看了源代码之后 这程序不到50行 尽管我有多年的Python经验,但我竟然一时也没有看懂 当然啦,原作者也说了,这个代码也是在无聊中诞生的,平时撸码是不写中文变量名的, 中文...
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的回答,对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalking,作者吴晟、刘浩杨 等等 仓库地址: apache/skywalking 更...
相关热词 c# clr dll c# 如何orm c# 固定大小的字符数组 c#框架设计 c# 删除数据库 c# 中文文字 图片转 c# 成员属性 接口 c#如何将程序封装 16进制负数转换 c# c#练手项目
立即提问