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点击tr实现checkbox选中的方法
Mar 19 Javascript
jquery easyui 结合jsp简单展现table数据示例
Apr 18 Javascript
在JavaScript中处理时间之getHours()方法的使用
Jun 10 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
Node.js重新刷新session过期时间的方法
Feb 04 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
Jun 02 Javascript
jQuery代码性能优化的10种方法
Jun 21 Javascript
详解vue-admin和后端(flask)分离结合的例子
Feb 12 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
JS 逻辑判断不要只知道用 if-else 和 switch条件判断(小技巧)
May 27 Javascript
typescript编写微信小程序创建项目的方法
Jan 29 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中empty is_null和isset的测试
2013/06/29 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
PHP实现适用于文件内容操作的分页类
2016/06/15 PHP
基于php解决json_encode中文UNICODE转码问题
2020/11/10 PHP
有一段有意思的代码-javascript现实多行信息
2007/08/26 Javascript
JS启动应用程序的一个简单例子
2008/05/11 Javascript
javascript自启动函数的问题探讨
2013/10/05 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
jQuery中ready事件用法实例
2015/01/19 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
JS 验证密码 不能为空,必须含有数字、字母、特殊字符,长度在8-12位
2017/06/21 Javascript
js变量声明var使用与不使用的区别详解
2019/01/21 Javascript
Vue中computed、methods与watch的区别总结
2019/04/10 Javascript
js判断在哪个浏览器打开项目的方法
2020/01/21 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
200行python代码实现2048游戏
2019/07/17 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
男女钓鱼靴和甲板鞋:XTRATUF
2021/01/09 全球购物
一些PHP的面试题
2015/05/06 面试题
草船借箭教学反思
2014/02/03 职场文书
云冈石窟导游词
2015/02/04 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL