1. vue嵌套js项目在vue页面加载好之后如何在jquery内让vue重新发送请求
可以将vue的vm保存在window中(不安全),或使用其他途径传递给JQ的函数中,jq函数中通过vm(相当于vue中this)即可使用方法
也可以在vue中定义函数,并用eventlistener绑定按钮
客户端的JS是基于对象的解释语言,基本上和HTML同一性质,都是通过BROWSER解释的。哦,HTML不是没有基于对象。
好像还有服务端的JS。
3. 有一个js项目,里面都是js文件,并且可以用web Strom在本地运行,怎么上传到服务器
首先你要有服务器空间,然后下载ftp,把整个项目打包通过ftp传到服务器上,在管理后台解压后就能访问了
4. javascript 跨域调用js文件问题.....
三种方法实现js跨域访问
1.基于iframe实现跨域
基于iframe实现的跨域要求两个域具有aa.xx.com,bb.xx.com这种特点,也就是两个页面必须属于一个基础域(例如都是xxx.com,或是xxx.com.cn),使用同一协议(例如都是 http)和同一端口(例如都是80),这样在两个页面中同时添加document.domain,就可以实现父页面调用子页面的函数,代码如下:
页面一代码:
<html>
<head>
<script>
document.domain="xx.com";
functionaa(){
alert("p");
}
</script>
</head>
<body>
<iframesrc="http://localhost:8080/cmsui/2.html"id="i">
</iframe>
<script>
document.getelementbyid('i').oncg=function(){
vard=document.getelementbyid('i').contentwindow;
d.a();
};
</script>
</body>
</html>
页面二代码:
<html>
<head>
<script>
document.domain="xx.com";
functiona(){
alert("c");
}
</script>
</head>
<body>
</body>
</html>
这时候父页面就可以调用子页面的a函数,实现js跨域访问
2.基于script标签实现跨域
script标签本身就可以访问其它域的资源,不受浏览器同源策略的限制,可以通过在页面动态创建script标签,代码如下
varscript=document.createElement('script');
script.src="http://aa.xx.com/js/*.js";
document.body.appendChild(script);
这样通过动态创建script标签就可以加载其它域的js文件,然后通过本页面就可以调用加载后js文件的函数,这样做的缺陷就是不能加载其它域的文档,只能是js文件,jsonp便是通过这种方式实现的,jsonp通过向其它域传入一个callback参数,通过其他域的后台将callback参数值和json串包装成javascript函数返回,因为是通过script标签发出的请求,浏览器会将返回来的字符串按照javascript进行解析执行,实现了域与域之间的数据传输。
jquery中对jsonp的支持也是基于此方案
3.后台代理方式
这种方式可以解决所有跨域问题,也就是将后台作为代理,每次对其它域的请求转交给本域的后台,本域的后台通过模拟http请求去访问其它域,再将返回的结果返回给前台,这样做的好处是,无论访问的是文档,还是js文件都可以实现跨域
5. js文件怎么运行
1、浏览器控制台运行
JavaScript不同于java语言或者c语言,需要环境、需要编译再运行,js在被制造出来时,就是为浏览器而生,可以直接在浏览器里运行,这里以谷歌浏览器为例,鼠标右键检查或者快捷键F12即可看到控制台可以理解为操作系统里的命令行模式
看上去是好一点了,可以单独执行文件了,但是这样还是很蠢,每回打开cmd还要找到js的路径
3、插件(我这里用的IDEA)
6. js代码修改后,如何编译才能生效
js不需要编译啊,一般没有更新可能是缓存造成的,使用ctrl+f5强制刷新一下看看
7. JS 要发起100个异步请求提交数据,有没有方案能分批次提交,比如每次处理5条,再发起下一批
用一个全局变量来统计正在发起的请求数量,比如说第一批发起五个异步请求,这个变量就设为5,然后在每个请求的回调函数中不管成功与否均把这个变量-1,如果变量为0,就说明5个请求均调用完毕了,这样就可以继续发起下一批5个请求,并把变量重新设为5……以此类推,直到全部完成
8. 如何把js文件编译成dll供页面调用
1. 在解决方案中添加一个项目:JSControl
2. 在这个项目添加一个js文件(JScript1.js)
9. 如何把.js文件编译成dll供页面调用
其实js本来就是前台脚本,把js文件编译成dll供页面调用也可以实行
方法:
1.在解决方案中添加一个新项目(类库:JSControl)
2.在新项目中添加要用的JS脚本(JScript1.js)
脚本的内容:
function testAlert() {
alert("Hello!");
}
3. 改变JScript1.js的属性,Build Action为Embedded Resource(嵌入的资源)
4.在JSControl项目的AssemblyInfo.cs文件添加一行:(注意
JSControl.JScript1.js,JSControl是js所在项目的命名空间)
//定义组件内的内嵌资源的元数据属性
[assembly: System.Web.UI.WebResource("JSControl.JScript1.js", "application/x-javascript")]
注意:这边要增加个引用:System.Web.dll
5. 项目中增加一个注册客户端脚本的类:
10. JS与ajax同源策略在项目中怎样使用
1、打开与服务器的连接(open)
当得到XMLHttpRequest对象后,就可以调用该对象的open()方法打开与服务器的连接了。open()方法的参数如下:
open(method, url, async):
method:请求方式,通常为GET或POST;
url:请求的服务器地址,例如:/ajaxdemo1/AServlet,若为GET请求,还可以在URL后追加参数;
async:这个参数可以不给,默认值为true,表示异步请求;
var xmlHttp = createXMLHttpRequest();
xmlHttp.open("GET", "/ajax_get/?a=1", true);
2、发送请求
当使用open打开连接后,就可以调用XMLHttpRequest对象的send()方法发送请求了。send()方法的参数为POST请求参数,即对应HTTP协议的请求体内容,若是GET请求,需要在URL后连接参数。
注意:若没有参数,需要给出null为参数!若不给出null为参数,可能会导致FireFox浏览器不能正常发送请求!
xmlHttp.send(null);
3、接收服务器的响应(5个状态,4个过程)
当请求发送出去后,服务器端就开始执行了,但服务器端的响应还没有接收到。接下来我们来接收服务器的响应。
XMLHttpRequest对象有一个onreadystatechange事件,它会在XMLHttpRequest对象的状态发生变化时被调用。下面介绍一下XMLHttpRequest对象的5种状态:
0:初始化未完成状态,只是创建了XMLHttpRequest对象,还未调用open()方法;
1:请求已开始,open()方法已调用,但还没调用send()方法;
2:请求发送完成状态,send()方法已调用;
3:开始读取服务器响应;
4:读取服务器响应结束。