分类 "JavaScript" 下的文章

问题:如何实现jquery自动选中span文本

方法:

$('span').hover(function(){
    var text = $(this)[0];
    var selection = window.getSelection();
    var range = document.createRange();
    range.selectNodeContents(text);
    selection.removeAllRanges();
    selection.addRange(range);    
}, function(){
    var selection = window.getSelection();
    selection.removeAllRanges();
});

问题:请求其它服务器实现登录,因为是未设置在同域名下所以跨站了,登录后返回了cookie,但未设置到浏览器中

解决:跨域名设置时要求非常严格,首先需要是https网站

很多人知道需要在 ajax 里配置 withCredentials 为 true,但光有这个不够,需要满足的条件如下:

  • withCredentials
    ajax里配置 withCredentials 为 true
  • 响应头
    服务端需配置响应头字段:Access-Control-Allow-Origin,值为允许跨域的域名,不能为星号*
    还需要服务端配置另一响应头字段:Access-Control-Allow-Credentials,值为true

阅读全文

问题:如何打包下载文件服务器文件?

老方法是在后端将远程文件从文件服务器上下载到后端服务器,然后将打包后的文件链接返回给前端,然后前端再下载,这样就会导致两次下载,非常慢

解决:后端返回文件服务器中文件链接,然后前端下载远程文件并打包

阅读全文

问题:ajax请求报错:Uncaught SyntaxError: expected expression, got '<'

解决:因为返回的不是json格式,可以去除dataType,然后console.log返回值进行查看错误

方法:
1、去除 dataType: 'json'

2、增加 console.log(data);

3、解决后台bug

问题:使用fileupload如何跨域上传图片?

解决:跨域问题可以前端解决,也可以后端解决

方法:
方法一:配置fileupload

$('#fileupload').fileupload({
        url: config.getUrl()+"upload!upload.do",
        type:"POST",
        dataType:"json",
        autoUpload : true,
        acceptFileTypes: /(\.|\/)(jpe?g|png)$/i,
        formData: {model:1},
        forceIframeTransport: true,  # 实现跨域
        redirectParamName:"callUrl",
        redirect:"http://"+window.location.host+"/app/callupload.html?",  // 回调页面,接受回调

阅读全文