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 相关文章推荐
JQuery index()方法使用代码
Jun 02 Javascript
快速排序 php与javascript的不同之处
Feb 22 Javascript
js实现div弹出层的方法
Nov 20 Javascript
JS实现仿京东淘宝竖排二级导航
Dec 08 Javascript
JavaScript将数字转换成大写中文的方法
Mar 23 Javascript
jQuery超赞的评分插件(8款)
Aug 20 Javascript
Bootstrap每天必学之模态框(Modal)插件
Apr 26 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
Jan 25 jQuery
详解vue指令与$nextTick 操作DOM的不同之处
Aug 02 Javascript
Vue项目中使用jquery的简单方法
May 16 jQuery
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
Vue路由权限控制解析
Nov 09 Javascript
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 上传文件大小限制
2009/07/05 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP递归实现快速排序的方法示例
2017/12/18 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
JavaScript打开word文档的实现代码(c#)
2012/04/16 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
Jquery 类网页微信二维码图块滚动效果具体实现
2013/10/14 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
2014/09/02 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
js如何打印object对象
2015/10/16 Javascript
AngularJS模块学习之Anchor Scroll
2016/01/19 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
通过jquery的ajax请求本地的json文件方法
2018/08/08 jQuery
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
JavaScript面向对象中接口实现方法详解
2019/07/24 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
使用python Django做网页
2013/11/04 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
2015/05/02 Python
Python中read()、readline()和readlines()三者间的区别和用法
2017/07/30 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
python怎么对数字进行过滤
2020/07/05 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
迪拜领先运动补剂零售品牌中文站:Sporter商城
2019/08/20 全球购物
人力资源行政经理自我评价
2013/10/23 职场文书
欢迎横幅标语
2014/06/17 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
个人工作失误的保证书怎么写?
2019/06/21 职场文书
Python虚拟环境virtualenv是如何使用的
2021/06/20 Python
css3中2D转换之有趣的transform形变效果
2022/02/24 HTML / CSS
关于windows server 2012 DC 环境 重启后蓝屏代码:0xc00002e2的问题
2022/05/25 Servers