js 加上alert就成功执行,不加就不对??
 @{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <script src="~/echarts/build/source/echarts.js"></script>
    <script src="~/echarts/build/dist/echarts.js"></script>
    <script src="~/Scripts/jquery-1.7.1.js"></script>
    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
    <title>echartLineJson</title>
    <script type="text/javascript">
        //ajax获取后台数据,x轴的name从数据库中读取
        function fetchXname() {
            var arr = new Array();
            $.ajax(
            {
                url: "/DropDownTree/echartLineJsonTest",
                dataType: "text",
                success: function (data) {
                    //调用函数获取值,转换成数组模式
                    var ss = eval(data);
                    for (var i = 0; i < ss.length; i++) {
                        //alert(ss[i].name);
                        arr.push(ss[i].name);
                    }
                }
            });
            return arr;

        }
        //最高气温
        function dataXRand() {
            var dataarr = new Array();
            $.ajax({
                url: "/DropDownTree/echartLineJsonTest",
                dataType: "text",
                success: function (data) {
                    var ss = eval(data);
                    for (var i = 0; i < ss.length; i++) {
                        dataarr.push(ss[i].data2);
                    }
                }
            });
          alert(dataarr);       //在此处加上alert()就成功,取消显示结果就不正确??
           // window.setTimeout(function () {  return dataarr; },1000);
            return dataarr;
        }

        //option配置
        var option = {
            title: {
                text: '未来一周气温变化',
                subtext: '纯属虚构'
            },
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data: ['最高气温', '最低气温']
            },
            toolbox: {
                show: true,
                feature: {
                    mark: { show: true },
                    dataView: { show: true, readOnly: false },
                    magicType: { show: true, type: ['line', 'bar'] },
                    restore: { show: true },
                    saveAsImage: { show: true }
                }
            },
            calculable: true,
            xAxis: [
                {
                    type: 'category',
                    boundaryGap: false,
                    data: fetchXname()
                }
            ],
            yAxis: [
                {
                    type: 'value',
                    axisLabel: {
                        formatter: '{value} °C'
                    }
                }
            ],
            series: function () {

            },
            series: [
                {
                    name: "最高气温",
                    type: 'line',
                    data: dataXRand(),
                    markPoint: {
                        data: [
                            { type: 'max', name: '最大值' },
                            { type: 'min', name: '最小值' }
                        ]
                    },
                    markLine: {
                        data: [
                            { type: 'average', name: '平均值' }
                        ]
                    }
                },
                      {
                          name: '最低气温',
                          type: 'line',
                          data: [1, -2, 2, 5, 2, 3, -1.5],
                          markPoint: {
                              data: [
                                  { name: '周最低', value: -2, xAxis: 1, yAxis: -1.5 }
                              ]
                          },
                          markLine: {
                              data: [
                                  { type: 'average', name: '平均值' }
                              ]
                          }
                      }
            ]
        };
        // 路径配置
        require.config({
            paths: {
                echarts: '/echarts/build/dist'
            }
        });
        //使用
        require(
            [
                'echarts',
                'echarts/chart/line'  //line为折线图, 使用柱状图就加载bar模块,按需加
            ],

             function (ec) {
                 // 基于准备好的dom,初始化echarts图表
                 var myChart = ec.init(document.getElementById('main'));
                 // 为echarts对象加载数据 

                 myChart.setOption(option);
                 myChart.hideLoading();
             }

             );
    </script>



</head>
<body>
    <div>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:400px"></div>

    <input id="jsontest" />
    </div>
</body>
</html>

具体代码如上所示,在最高气温dataXRand函数内的alert()加上就成功执行,不加就不对。前台接收的是后台传过来的json字符串
正确执行的结果如下图所示
图片说明
请问这种情况应该如何解决?

6个回答

 $.ajax({
                url: "/DropDownTree/echartLineJsonTest",
                dataType: "text",
                                async:false,//加上这个,要不是异步执行。
                success: function (data) {
                    var ss = eval(data);
                    for (var i = 0; i < ss.length; i++) {
                        dataarr.push(ss[i].data2);
                    }
                }
            });
sinat_35906892
生命精髓 真不错,完美解决了我当前遇到的问题,一个循环提交,每次莫名其妙的数据不对,这下没问题了
3 年多之前 回复
u012919230
sdfdsfdsfsdfhhhh 异步执行顺序不对,alert造成程序等待,导致程序正常执行,如果没猜错的话,alert之后的程序应该放到异步成功后执行!!!!
接近 4 年之前 回复
baidu_29441763
baidu_29441763 问您一下,如要要是ajaxFileUpload怎么办?
4 年多之前 回复
fandyvon
寒江独 很好的答案 值得一试呀
大约 5 年之前 回复
u010940538
qytomorrow 回复danielinbiti: 恩恩。谢谢,明白了。
大约 5 年之前 回复
danielinbiti
danielinbiti 回复u010940538: 别忘了采纳哦
大约 5 年之前 回复
danielinbiti
danielinbiti 回复u010940538: 异步执行不会等到执行完success在执行ajax后面的代码的。同步执行才会先执行完success,然后再执行ajax后面的代码。
大约 5 年之前 回复
u010940538
qytomorrow 实现了,非常感谢。请问为什么会出现这种情况,我对异步不了解。
大约 5 年之前 回复

async为false后ajax同步请求,回挂起其后面的js代码执行指导ajax返回结果后继续执行

不配置默认为true为异步,异步不会挂起ajax的执行,会继续执行后续的代码,js代码的执行速度比你ajax返回返回数据快多了,所以ajax没返回就已经执行return dataarr;这句导致success回调没执行填充dataarr数组。

你增加alert会挂起return dataarr;的执行,但是不会阻止ajax的返回和success的执行,此时ajax相当于是另外的一个线程填充了dataarr,点你点击alert的弹框确定时间间隔足够ajax返回返回数据填充dataarr了,所以确定后执行return dataarr;时已经有数据了,除非网络很繁忙ajax未返回

u010940538
qytomorrow 恩恩。谢谢你,讲的很明白。
大约 5 年之前 回复

eval('('+data+')')

u010940538
qytomorrow 谢谢你的回答。问题已经解决了,如楼上所说,加上async:false,
大约 5 年之前 回复

虽然ajax不熟,但是原理上应该是这样的:ajax请求需要时间的啊,加了alert()可以有足够的时间取到数据并填充dataarr;否则dataarr还是空的你就返回了。

u012919230
sdfdsfdsfsdfhhhh 单线程耗时问题!如果在ajax里面启用一个现成处理返回数据就可以了!最简单的就是加alert的地方加个耗时,或则data的循环写到后台,往前台直接传一个想要得到的数据过来就OK了!
大约 5 年之前 回复
u010940538
qytomorrow 恩。加上alert()的时候弹出的数据是空的,但是效果是实现了。
大约 5 年之前 回复

$.ajax({
url : 's.php',
timeout : 3000,
error : function(xhr,textStatus){
console.log('error:'+textStatus);
},
});

你在你的循环上面价格timout,稍微大大一点就可以了!你后台的逻辑估计是个长时任务,ajax请求不到数据,就直接return了,你加上alert相当于一个请求延时!
u010940538
qytomorrow 回复fandyvon: 请问你用这种方式实现了么?
大约 5 年之前 回复
fandyvon
寒江独 谢谢谢谢谢谢谢谢谢谢谢谢谢谢
大约 5 年之前 回复
u010940538
qytomorrow 回复u010940538: 非常感谢你的回答
大约 5 年之前 回复
u010940538
qytomorrow 我明白你说的意思。但是我把timeout设成了30秒还是不可以
大约 5 年之前 回复

你关闭异步那就不如不用ajax了!如果你后台需要一天才能计算完,不知道的还以为你前台宕机了呢!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
封装了个js方法,结果要加上alert()才能运行,而且不会显示alert框?

<pre name="code" class=" 引入js的位置 "> &lt;/body&gt; &lt;script type="text/javascript" src="${pageContext.request.contextPath}/js/linkUrl.js"&gt;&lt;/script&gt; &lt;/html&gt;</pre> <p> </p> <pre name="code" class="调用的地方">&lt;a href="#" onclick="javascript:linkUrl('${pageContext.request.contextPath}/wap/login/register.jsp?topColumnId=${i_TopColumnID}')"&gt; 注册&lt;/a&gt;|</pre> <p> </p> <pre name="code" class="js脚本中的方法">/* * 功能 : 将如"register.jsp?name=a&amp;pwd=a"的链接改成form提交,以达到隐藏表单。 * 使用:将&lt;a href="register.jsp?name=a&amp;pwd=a"&gt;注册&lt;/a&gt;|替换这 * &lt;a href="#" onclick="linkUrl('register.jsp?name=a&amp;pwd=a')"&gt;注册&lt;/a&gt;| * */ function linkUrl(allUrl){ var url,queryString,oneArray,twoArray,name,value,turnForm,turnInput; //1 创建form turnForm = document.createElement("form"); document.body.appendChild(turnForm); //2 解析完整url,加入隐藏域 <span style="color: #ff0000;">alert(allUrl);</span> url = allUrl.substring(0,allUrl.indexOf("?")); queryString = allUrl.substr(allUrl.indexOf("?")+1); // alert(url); // alert(queryString); oneArray = queryString.split("&amp;"); for(var i=0;i&lt;oneArray.length;i++){ twoArray = oneArray[i].split("="); name = twoArray[0]; value = twoArray[1]; //alert(name); //alert(value); turnInput = document.createElement("input"); turnInput.type = "hidden"; turnForm.appendChild(turnInput); turnInput.name = name; turnInput.value = value; } //3 提交 turnForm.action=url; turnForm.method = "post"; turnForm.submit(); }</pre> <p>   结果要加上 13行 <span style="color: #ff0000;">alert(allUrl);</span><br>的那一句才能正常执行,否则就报找不到action的错误。 太神奇了。求教。</p>

给a标签加上点击事件,alert()可以执行,其他的不可以执行为什么?

<a href="javascript:;" onclick="change()" id="change" style="float: left; ">更换车款</a> function change(){ $("#showdialog").css("display","none"); $(".mask").css("display","none"); }

使用jQuery ajax,回调函数必须在有一个alert()的前面才能执行?

请问下 ``` $(document).ready(function() { $("#confirm").submit(function(){ var $form = $(this); $.post($form.attr("action"),$form.serialize(),function(data){ alert("5555"); if (data.code == 0) { alert("添加成功,红包一个工作日到账,请注意查收"); $('#myModal2').modal('toggle'); return false; }else{ alert(data.message); return false; } },"json"); // alert(); //如果有这句alert就先走到这句然后才进入回调函数,如果没有直接走到下一句return false;为什么 return false; //直接走到这里 }); }); ```

js中遇到一个关于alert的问题,没找到答案,不知道前辈们有没有遇到过

最近在写一段js的代码中遇到了这样一个奇怪的问题。 那天下午,我将模块中所有的功能代码调试完毕后,接着就删除了一些调试代码,最后svn提交。长长的伸了个懒腰后下班了。 第二天,测试人员跑过来说功能上有欠缺。我一看,他所说欠缺的功能我昨天都已经实现了,怎么今天突然都不能用了呢?还以为我在提交的时候出了什么差错,可是在自己的电脑上一看,所有昨天实现了的功能真的一个个都没起作用。真是有苦说不清,昨天明明都调试成功再提交的。。。 没办法只得看看代码哪里出了问题,几经周折,最后发现错误在一段js代码中,调试的时候加了alert()方法,提交前这个方法被我删掉了,然后在这个alert()方法之后的js代码就不执行,所以相应的功能也都没了。 这个问题很奇怪,因为我不是异步执行的,所有的代码都是同步的,应该是逐个往下执行,按理说,一个alert不会影响到同步执行的代码,但在删掉它之后真的就出了上面所述的问题。后来发现,如果在alert的位置加一行延时1秒的代码,程序又会正常的执行了!回想,在调试的时候加上alert也就相当于起到延时的作用。真的很神奇,到现在我还没有找到明确的答案。 这段代码唯一有点特殊的地方可能就是稍微长了点,大概有五六十行的样子,而那个alert的位置比较靠尾。 后来为了代码的稳定,没有采用延时的方法,换了种算法将功能实现了,但是上面说到的那个问题还是没有找到答案,不知道前辈没有有没有遇到过这样的问题,还望不吝赐教。

利用ajax与服务器通信,js中的程序没法正常执行

document.getElementById("progressbar").style.display='block'; var url="Upload.do?flag="+flag; //alert("文件开始导入基础库"); send(url); 在这段js程序中,document.getElementById("progressbar").style.display='block'; 将进度条显示出来。 send(url); 利用ajax向后台发送请求。 如果不加 alert() 暂时中止程序,进度条将没法显示出来。 加上 alert() 暂停程序或者注释掉 send(url) 发送请求的部分,进度条才可以正常显示出来。 利用ajax与服务器通信会对前台js的正常执行造成这样的影响吗,有什么好的解决办法? 希望有精通这方面的前辈帮我解惑!

CefSharp75 怎样用JS调用C#

Form cs代码 ``` CefSharpSettings.LegacyJavascriptBindingEnabled = true; browser.RegisterJsObject("boud", new JsEvent(),new CefSharp.BindingOptions() { CamelCaseJavascriptNames = false }     public class JsEvent     {         public string MessageText { get; set; }         public void ShowTest()         {             MessageBox.Show("this in c#.\n\r");         } public string Hello(string name) { return "Hello " + name; }         public void ShowTestArg(string ss)         {             MessageBox.Show("收到Js参数的调用\n\r"+ss);         }     } ``` js代码 boud.Hello("aaa").then((r) => { alert(r); }) boud.ShowTest() 加上 CefSharp.BindObjectAsync("boud"); 也不可以 都是提示 boud is not defined CefSharp is not defined

onload直接执行导致onclick事件无法绑定

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body onload="paifa()"> <input type="button" value="第一次" id="btn1"/> </body> <script> var cc; function paifa() { cc=document.getElementById("btn1"); cc.onclick=al(); } function al(){ alert("demo1"); } </script> 在运行页面的时候直接运行了al方法,导致al无法绑定到按钮中

为什么按键放开后,keyup事件好像没反应,还是keydown状态。

var keysDown = {}; addEventListener("keydown", function (e) { keysDown[e.keyCode] = true; }, false); addEventListener("keyup", function (e) { delete keysDown[e.keyCode]; }, false); if (38 in keysDown) { hero.y -= hero.speed * 3;} 上面的代码会循环执行,其作用是让小图片hero移动,目前代码是正常的, 按键松开,图片就不动了,但当我加上alert后,如下: if (38 in keysDown) { // Player holding up alert("aaa"); hero.y -= hero.speed * 3;} 这时我按键放开了,但点击确定alert后,图片会继续移动,移动后马上又跳出alert, 再点确定,再移动,一直下去,好像因为alert的干扰,keyup事件没捕捉到了,程序一直处于keydown状态,这是为什么呢?

easyui datagrid 不显示数据问题

![图片说明](https://img-ask.csdn.net/upload/201707/25/1500922234_974788.jpg) jsp代码: ``` <%@ 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>用户信息</title> </head> <%@include file="/public/head.jspf"%> <body> <script type="text/javascript"> function search() { var date = $('#dd1').datebox('getValue'); var phone = $('#phone').val(); $('#dg').datagrid('load', { 'date' : date, 'phone' : phone }); } $(function() { var myDate = new Date(); var dateStr = myDate.getFullYear() + "-" + (myDate.getMonth() + 1) + "-" + myDate.getDate(); $('#dd1').datebox('setValue', dateStr); $('#dg').datagrid({ fit : true, fitColumns : true, pagination : true, url : '/userInfo/userList', queryParams : { 'date' : dateStr }, striped : true, columns : [ [ { field : 'id', title : 'id', width : 100, align : 'center' }, { field : 'phone', title : '手机号', width : 100, align : 'center' } ] ] }); }); /* function search() { var start = $('#dd1').datebox('getValue'); alert(start); alert(); if(start == "") { alert("日期输入错误"); return; } $.post("/userInfo/userStat", { start : start, end : end, }, function(result) { if (result.status === 1) { document.getElementById("count").innerHTML = result.data.count; document.getElementById("report1").innerHTML = result.data.report1; document.getElementById("report2").innerHTML = result.data.report2; } else { alert(result.msg); } },"json"); }; */ </script> <div> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注册时间<input id="dd1" type="text" class="easyui-datebox" required="required"></input> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;手机号<input id="phone" class="input-medium search-query" type="text" /> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <button onclick="search()">筛选</button> <table id="dg"></table> </div> </body> </html> ``` 格式返回应该没错, 页面也没有报错,就是不显示数据,求解

window.onload=function(){}在外部文件不起作用

window.onload=function(){ alert("a"); } 在外部文件不起作用,写在html文件中就可以,这是什么原因? 难道就因为放在头部不行吗,读取js文件时,整个页面没有加载,所以window.load就失效了吗?

html表单中的动作脚本未正确执行

<div class="post-text" itemprop="text"> <p>I am trying to learn a bit web development and want to build my own small website with a login screen. The html form looks like this:</p> <pre><code>&lt;form action="./scripts/login.php" method="post"&gt; &lt;input type="text" name="username" placeholder="Enter Username" autofocus&gt; &lt;input type="password" name="password" placeholder="Enter Password"&gt; &lt;p&gt;Forgot password?&lt;/p&gt; &lt;input type="submit" value="Confirm" name="submit_login"&gt; &lt;/form&gt; </code></pre> <p>and the login.php like this:</p> <pre><code>&lt;?php alert("Hello World"); function alert($msg) { echo "&lt;script type='text/javascript'&gt;alert('$msg');&lt;/script&gt;"; } </code></pre> <p>If I open the website from phpstorm and click on the submit button then I get redirected to the login.php, but the website shows the error <a href="https://i.stack.imgur.com/hW2Sb.png" rel="nofollow noreferrer">404 not found</a> (even if the path is correct). If I press f5 to reload the website I get the message "To display this page, Firefox must send information that will repeat any action (such as a search or order confirmation) that was performed earlier." with the options to cancel or resend but neither results in the message "Hello World" from the script. If I click on the url in the bar at the top of firefox and then press enter instead of f5 (both should reload the webside), the expected message appears. At least I opened the .html file directly from firefox with the "Open File..." option and if I click on the submit button, the browser ask me if I want to download the login.php file.</p> <p>I don't why I get these different behaviors and could not find other solutions on the internet. Can anyone help me?</p> <p><strong>EDIT:</strong> If I run the website via xampp no problem occur. But I still don't know why it won't work if I open the website out of xampp. </p> </div>

框架js验证中的onsubmit和jsp中的onsubmit执行顺序的问题

现在使用了一个验证框架,代码如下 initialize : function(form, options){ this.options = Object.extend(new ValidationDefaultOptions(), options || {}); this.form = $(form); var formId = ValidationUtils.getElmID($(form)); Validation.validations[formId] = this; if(this.options.onSubmit) Event.observe(this.form,'submit',this.onSubmit.bind(this),false); if(this.options.immediate) { var useTitles = this.options.useTitles; var callback = this.options.onElementValidate; Form.getElements(this.form).each(function(input) { Event.observe(input, 'blur', function(ev) { Validation.validateElement(Event.element(ev),{useTitle : useTitles, onElementValidate : callback}); }); }); } 这里给jsp的form绑定了一个onsubmit。 因为验证框架只是做一些比如,是否输入的数据满足要求这些的验证,在具体的jsp页面上,在提交时,form的onsubmit="return tosubmit();"还需要做些另外的验证,比如数据是否已经提交。验证是否提交的方法实现是, var checkded = false; function tosubmit(){ if(checked){ alert('已经提交了'); return false; } .... checked = true; } 现在遇到的问题是, 实际发现,在jsp上的函数,tosubmit的执行总是在框架绑定的onsubmit前执行。这样就造成了,当因为框架验证没有通过时,checked已经是true了。如果改了输入的数据,再次提交,就会提示说:已经提交了。 查了很多资料,没想到方法。 [b]问题补充:[/b] 你可以把给document.body.onload绑定事件,给这个form设置框架要绑定的onsubmit ---多谢lovewhzlq 不过,没太看明白? 我想的最好是,框架中的代码不进行更改能够达到效果就最好。 [b]问题补充:[/b] document.getElementsByTagName("form")[0].addEventListener('onsubmit',function(e){ return test(); },false); --- 我在onload中加上这个,最终的结果是我的test函数没有运行。 onsubmit换成submit相同的结果。

如何解决JQuery中mouseenter()事件与mouseleave事件冲突

``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <div id="id1"> <p>id</p> </div> <script src="https://code.jquery.com/jquery-1.7.2.js"></script> <script>$('#id1').mouseenter(function(){ $('p').text('change-id'); $('#id1').attr('id','id2'); //alert($('#dsbdo').attr('id')); }); $('#id2').mouseleave(function(){ $('p').text('cmoeback'); $('#id2').attr('id','id1'); alert($('#id').attr('id')); })</script> </body> </html> ``` 当鼠标移动进div区域时mouseenter事件能够正常触发,但是当鼠标移出div时,为什么mouseleave就不能正常触发呢?求教各位大佬,感激不尽

el表达式里面作运算的时候,运算符后面是一个js变量,但是el表达式自动忽略这个变量怎么办?

``` $(function(){ $("#toPage").blur(function(){ var num = parseInt($("#toPage").val()); if(num != null && num != ""){ if(!/^[1-9][0-9]*$/.test(num)){ alert('请输入正确的页号!'); }else{ $("#pageVal").attr('href',"<%=basePath %>/goods/allGoods?pageNo=${page.pageNum+num}"); } } }); }); ``` 在浏览器按F12看值的时候,只有${page.pageNum}的值,而num的值没有加上去,如果这样写${page.pageNum+num-1},就自动忽略+num,直接就执行-1了。因为我在做pagehelper的分页,我想可以直接跳转到指定的页号,所以我就直接获取到input输入框里面的值,然后直接加到${page.pageNum}上。如果在url后面的值写成pageNo=num就报400,希望大牛能帮我解决一下,不胜感激。

jsp子窗体向父窗体赋值

<script language="javascript"> function returninfo() { alert("Hello !!"); //获取用户输入的部门信息 var depinfo=document.myform.dep.value; //关键步骤。取得父窗体的document对象 alert(depinfo); 加上这段代码就执行不了关闭子窗体。删除这个子窗体就可以执行关闭子窗体, 烦请老师们看看这段代码值怎么又错吗? <!---->var doc=window.opener.document; //将取得的信息赋值给上个页面的接受者 window.close(); } </script> <body> <form name="myform" > 请选择您的部门: <select name="dep"> <option value="销售部">销售部</option> <option value="仓库部">仓库部</option> </select> <input type="button" value="返回" onClick="returninfo();"> </form> </body>

火狐下刷新的问题

我想在页面刷新之前,然后页面的里一个表单先提交下。 [code="java"]window.onbeforeunload=function (event){ event = (event)?event:window.event; if (event.clientX < 0 && event.clientY < 0 || event.altKey) { exitsystems(); } else { window.location.href = "<%=request.getContextPath() %>/page/user.do?method=closed"; alert("1"); } } [/code] 代码如上,else里面有个alert("1")看起来是多余的,如果在火狐上,不加上的话,就不会执行[code="java"]window.location.href = "<%=request.getContextPath() %>/page/user.do?method=closed"; [/code] 请教各位如何解决这个问题,alert("")肯定是不需要的,不然每次刷新页面都会跳个对话框出来。

php文件管理在iis环境下不正常

``` <?php require "../include/conn.php"; require "../include/function.php"; require "checkloginstate.php"; ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <title>后台管理-<?php echo $config['sitename']?></title> <link rel="stylesheet" type="text/css" href="css/common.css"/> <link rel="stylesheet" type="text/css" href="css/main.css"/> <script type="text/javascript" src="js/libs/modernizr.min.js"></script> <script type="text/javascript" src="../include/jquery.min.js"></script> <script type="text/javascript" src="../include/laydate/laydate.js"></script> <script type="text/javascript" src="../include/layer/layer.js"></script> </head> <body> <?php require "top.php"; ?> <div class="container clearfix"> <?php require "left.php"; ?> <!--/sidebar--> <div class="main-wrap"> <div class="crumb-wrap"> <div class="crumb-list"><i class="icon-font"></i><a href="index.php">首页</a><span class="crumb-step">&gt;</span><a class="crumb-name" href="tool.php">常用工具</a><span class="crumb-step">&gt;</span><span>文件管理</span></div> </div> <div class="result-wrap"> <div class="result-content"> <?php /* 遍历文件夹; 功能:(a)可删除文件 (b)可编辑文本,网页文件 (c)可删除文件夹,前提是该文件夹为空 (d)可建立文件,文件夹,修改文件夹名称; lost63.com原创, 转载请注明出处. 交流QQ:35501547 */ $path="../"; $path=str_replace("/","\\",$path); //指定文件夹 $path=$path."\\"; if($_GET['folder']) { $path.=$_GET['folder']."\\"; $path=iconv("utf-8","gb2312//IGNORE",$path); } //本页面路径,下面传回时将用到; $url=$_SERVER['PHP_SELF']; //如果是文件夹,将加上链接; function folder($path,$str) { if(filetype($path.$str)=="dir") { return "<a href=\"?folder=".$_GET['folder']."\\".iconv("GBK","utf-8",$str)."\"><i class='icon-font'>&#xe009;</i> ".iconv("GBK","utf-8",$str)."</a>"; }else{ return "<i class='icon-font'>&#xe005;</i> ".iconv("GBK","utf-8",$str); } } switch($_GET['action']) { case "del"; if($_GET['type']=="file") { unlink(iconv("utf-8","gb2312//IGNORE",$_GET['path'])); }else{ deldir(iconv("utf-8","gb2312//IGNORE",$_GET['path'])); } echo "<script type=\"text/javascript\">alert('恭喜,删除成功!');location.href=\"".$url."\";</script>"; break; case "edit"; if($_GET['type']=="file") { $file=iconv("utf-8","gb2312//IGNORE",$_GET['path']); $file=fopen($file,"r"); while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); echo '<form name="form1" method="post" action="?action=editsave&path='.$_GET['path'].'&type='.$_GET['type'].'"> <table width="100%" class="result-tab"> <tr> <th><strong> 编辑文件</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$url.'">返回</a></th> </tr> <tr> <td>文件:'.$_GET['path'].'</td> </tr> <tr> <td><textarea name="textarea" style="width:98%;height:450px;">'.$result.'</textarea></td> </tr> <tr> <td><input class="botton-common" type="submit" name="Submit" value="提交"> <input class="botton-common" type="reset" name="Submit2" value="重置"></td> </tr> </table> </form>'; }else{ echo '<form name="form1" method="post" action="?action=dir_rename&path='.$_GET['path'].'&type='.$_GET['type'].'"> <table width="100%" class="result-tab"> <tr> <th><strong>文件夹更名</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$url.'">返回</a></th> </tr> <tr> <td>文件夹更名: <input name="filename" type="text" value="'.$_GET['path'].'" size="50"></td> </tr> <tr> <td><input class="botton-common" type="submit" name="Submit" value="提交"> <input class="botton-common" type="reset" name="Submit2" value="重置"></td> </tr> </table> </form>'; } break; case "editsave"; $file=iconv("utf-8","gb2312//IGNORE",$_GET['path']); $file=fopen($file,"w"); fwrite($file,$_POST['textarea']); fclose($file); echo "<script type=\"text/javascript\">alert('恭喜,编辑成功!');location.href=\"".$url."\";</script>"; break; case "addfile"; echo '<form name="form1" method="post" action="?action=filesave&path='.$_GET['path'].'"> <table width="100%" class="result-tab"> <tr> <th><strong>新建文件</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="'.$url.'">返回</a></th> </tr> <tr> <td>文件名: <input name="filename" type="text" value="'.$_GET['path'].'" size="50"></td> </tr> <tr> <td><textarea name="textarea" style="width:98%;height:450px;">输入内容 </textarea></td> </tr> <tr> <td><input class="botton-common" type="submit" name="Submit" value="提交"> <input class="botton-common" type="reset" name="Submit2" value="重置"></td> </tr> </table> </form>'; break; case "filesave"; //包含点则建立文件,否则建立文件夹 if(strpos($_POST['filename'],".",2)){ $file=fopen(iconv("utf-8","gb2312//IGNORE",$_POST['filename']),"w"); fwrite($file,$_POST['textarea']); fclose($file); }else{ //文件夹若存在则退出,不存在则建立! if(file_exists($_POST['filename'])){ exit; }else{ mkdir(iconv("utf-8","gb2312//IGNORE",$_POST['filename'])); } } echo "<script type=\"text/javascript\">alert('恭喜,".$_POST['filename']."建立成功!');location.href=\"".$url."\";</script>"; break; case "dir_rename"; rename(iconv("utf-8","gb2312//IGNORE",$_GET['path']),iconv("utf-8","gb2312//IGNORE",$_POST['filename'])); echo "<script type=\"text/javascript\">alert('恭喜,".$_POST['filename']."更名成功!');location.href=\"".$url."\";</script>"; break; default: $s=explode("\n",trim(`dir/b $path`)); echo '<table width="100%" class="result-tab"> <tr> <td colspan="4"><a class="link-common" href="?action=addfile&path='.iconv("GBK","utf-8",$path).'"><i class="icon-font">&#xe026;</i> 建立文件</a><a class="link-common" href="'.$url.'"><i class="icon-font">&#xe010;</i> 返回上一级</a></td> </tr> <tr> <th>文件/文件夹</td> <th class="tc">文件属性</td> <th class="tc">文件大小</td> <th>操作</td> </tr>'; foreach($s as $value) { echo ' <tr> <td>'.folder($path,$value).'</td> <td class="tc">'.filetype($path.$value).'</td> <td class="tc">'.round(filesize($path.$value)/1024).'kb</td> <td class="tc"><a class="link-common" href="?action=edit&path='.iconv("GBK","utf-8",$path.'\\'.$value).'&type='.filetype($path.$value).'">编辑</a><a class="link-common" href="?action=del&path='.iconv("GBK","utf-8",$path.'\\'.$value).'&type='.filetype($path.$value).'" onClick="return confirm(\'确定删除:'.iconv("GBK","utf-8",$value).'\');">删除</a></td> </tr>'; } echo "</table>"; break; } ?> </div> </div> </div> <!--/main--> </div> </body> </html> ``` 这是我用的一个php文件管理代码,在apache环境下运行没有问题,但在iis环境下路径就出现问题,没有列出根目录下相应的文件,下面附上截图: apache环境下: ![图片说明](https://img-ask.csdn.net/upload/201610/19/1476889874_529819.jpg) iis环境下: ![图片说明](https://img-ask.csdn.net/upload/201610/19/1476889895_174286.jpg) 大家帮看一下是什么问题

ext autoLoad 问题

[code="java"]var n = this.add( { id : node.id, closable : true, //通过autoLoad属性载入目标页,如果要用到脚本,必须加上scripts属性 autoLoad : { url : "info.aspx", scripts : true } }); this.setActiveTab(n); [/code] info.aspx : [code="java"]<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页</title> t" src="array-grid.js"></script> <script type="text/javascript"> alert("aaaaaaaaaaaaaaaaaaaaaaa"); // 没有执行 </script> </head> <body> <form id="form1" runat="server"> <div id="grid-example"></div> </form> </body> </html> [/code] 通过 autoload 加载 info.aspx后 为什么info.aspx 下的js 不执行 。 [b]问题补充:[/b] yourgame , 我用你的方法试了 ,还是不好用.

ajax调用后台方法,求大神

写了一段ajax的代码,原意是打算,当选择句子时,用ajax将选中的句子传回后台,当ajax回传成功时,执行后台方法BTCompare。但是现在页面加载的时候直接执行了BTCompare,反而点击按钮触发ajax的时候不执行 ``` //选取句子,点击按钮,传送回后台 function ajaxSend() { $('#btnSend').attr('disabled', true) $.ajax({ type: "Post", url: "Reader.aspx/GetStr", async: false, data:"{'s':'"+selectedText+"'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { alert(data.d); if (data.d) { function Init() { var s = '<%=BtCompare() %>'; } } }, error: function (err) { alert("data error"); } }); } document.onmousedown = function () { selectedText = false; } document.onmouseup = function (e) { e = e || window.event; selectedText = window.getSelection ? window.getSelection().toString() : document.selection ? document.selection.createRange().text : false; if (selectedText) { //判断页面是否有滚动,有的话还得加上滚动的距离,要不按钮定位不准 var sl = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft), st = Math.max(document.documentElement.scrollTop, document.body.scrollTop); $('#btnSend').css({ left: e.clientX + sl, top: e.clientY + st }).show().attr('disabled', false); } } ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

立即提问
相关内容推荐