JavaScript调用传递变量参数的相关问题及解决办法


Posted in Javascript onNovember 01, 2015

举例

有一个js方法,接收参数:

function f1(myValue){ alert(myValue); }

有一个变量:

var passValue="Hello World";

在调用这个方法的时候(我是出现在Ajax提交的时候):

@Ajax.ActionLink("文本","控制器",new{参数},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })

这里注意最后的OnSuccess,如果直接把变量丢进去,会把变量认为是一个字符串

如果改成OnSuccess="f1("+PassValue+")"也不行

搜了一下是需要转义字符

OnSuccess="f1('"+PassValue+"')"

这样就没问题了

不过上面调用Ajax的时候没注意,这里只是为了给异步调用方法f1()传参数

所以就不用@Ajax了 改成普通A标签就可以了 不然会调用两次控制器

ps:js将方法作为参数调用

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <title>js调用</title>  
  <script src="cssjs/jquery.js" type="text/javascript"></script>
  <script type="text/javascript">
    $().ready(function () {
      $.dialog = function (settings) {
        if ($.isFunction(settings.okCallback)) {
          if (settings.height == null) {
            if (settings.okCallback.apply() != false) {
              alert("1");
            }
          } else {
            
            if (settings.okCallback.call(this, settings.height) != false) {
              alert("2");
            }
            
            /*
            if (settings.okCallback.apply(this, arguments) != false) {
              alert("2");
            }
            */
          }
        }
      }
    });    
  </script>
  <script type="text/javascript">
    $(function () {
      $.dialog({
        okCallback: print,
        height: {data:"你好"}
      });
    });
  function print(ee1) {
    alert("print(ee1)");
    
    alert(ee1.data);
    
    /*
    alert(ee1.height.data);
    */
  /*
  function print(a, b, c, d) {
  alert(a + b + c + d);
  }
  function example(a, b, c, d) {
  //用call方式借用print,参数显式打散传递
  print.call(this, a, b, c, d);
  //用apply方式借用print, 参数作为一个数组传递,
  //这里直接用JavaScript方法内本身有的arguments数组
  print.apply(this, arguments);
  //或者封装成数组
  print.apply(this, [a, b, c, d]);
  }
  //下面将显示"背光脚本"
  example("背", "光", "脚", "本"); 
  */
  </script>
</head>
<body> 
</body>
</html>
Javascript 相关文章推荐
javascript IFrame 强制刷新代码
Jul 23 Javascript
javascript EXCEL 操作类代码
Jul 30 Javascript
理解Javascript_02_理解undefined和null
Oct 11 Javascript
jQuery中setTimeout的几种使用方法小结
Apr 07 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
原生javascript实现自动更新的时间日期
Feb 12 Javascript
js中判断变量类型函数typeof的用法总结
Aug 09 Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
Apr 07 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
Jun 18 jQuery
使用js实现单链解决前端队列问题的方法
Feb 03 Javascript
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
javascript跨域总结之window.name实现的跨域数据传输
Nov 01 #Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 #Javascript
JS实现的论坛Ajax打分效果完整实例
Oct 31 #Javascript
JS实现来回出现文字的状态栏特效代码
Oct 31 #Javascript
JS实现的3D拖拽翻页效果代码
Oct 31 #Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 #Javascript
JS实现的简单鼠标跟随DiV层效果完整实例
Oct 31 #Javascript
You might like
php的array_multisort()使用方法介绍
2012/05/16 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
详解PHP中的外观模式facade pattern
2018/02/05 PHP
jquery 弹出层实现代码
2009/10/30 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
javascript date格式化示例
2013/09/25 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
js动态添加表格数据使用insertRow和insertCell实现
2014/05/22 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
JS中对Cookie的操作详解
2016/08/05 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
React实现双向绑定示例代码
2016/09/19 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
bootstrap多层模态框滚动条消失的问题
2017/07/21 Javascript
vue项目打包部署到服务器的方法示例
2018/08/27 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
Vuepress 搭建带评论功能的静态博客的实现
2019/02/17 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
jupyter notebook清除输出方式
2020/04/10 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
UNIONBAY官网:美国青少年服装品牌
2019/03/26 全球购物
经典婚礼主持开场白
2014/03/13 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
2014年采购部工作总结
2014/11/20 职场文书
总账会计岗位职责
2015/04/02 职场文书
导游词之无锡华莱坞
2019/12/02 职场文书
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers