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 相关文章推荐
静态的动态续篇之来点XML
Aug 15 Javascript
extJs 文本框后面加上说明文字+下拉列表选中值后触发事件
Nov 27 Javascript
基于jquery实现图片广告轮换效果代码
Jul 07 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
Apr 26 Javascript
js字母大小写转换实现方法总结
Nov 13 Javascript
简介JavaScript中valueOf()方法的使用
Jun 05 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
Aug 21 Javascript
Javascript中神奇的this
Jan 20 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
Aug 02 Javascript
谈谈target=_new和_blank的不同之处
Oct 25 Javascript
详解webpack编译速度提升之DllPlugin
Feb 05 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php处理斐波那契数列非递归方法
2012/02/04 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
PHP大文件切割上传功能实例分析
2019/07/01 PHP
javascript代码加载优化方法
2011/01/30 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
vue-router的两种模式的区别
2019/05/30 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Python实现简易端口扫描器代码实例
2017/03/15 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
手动安装python3.6的操作过程详解
2020/01/13 Python
python中threading和queue库实现多线程编程
2021/02/06 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
SQL Server数据库笔试题和答案
2016/02/04 面试题
物理系毕业生自荐书范文
2014/02/22 职场文书
应届毕业生求职信范文
2014/05/08 职场文书
毕业生学校推荐信范文
2014/05/21 职场文书
反对四风自我剖析材料
2014/10/07 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
2014年科技工作总结
2014/11/26 职场文书
网吧员工管理制度
2015/08/05 职场文书
Vue过滤器(filter)实现及应用场景详解
2021/06/15 Vue.js