JavaScript調(diào)用傳遞變量參數(shù)的相關(guān)問題及解決辦法
舉例
有一個(gè)js方法,接收參數(shù):
function f1(myValue){ alert(myValue); }
有一個(gè)變量:
var passValue="Hello World";
在調(diào)用這個(gè)方法的時(shí)候(我是出現(xiàn)在Ajax提交的時(shí)候):
@Ajax.ActionLink("文本","控制器",new{參數(shù)},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })
這里注意最后的OnSuccess,如果直接把變量丟進(jìn)去,會(huì)把變量認(rèn)為是一個(gè)字符串
如果改成OnSuccess="f1("+PassValue+")"也不行
搜了一下是需要轉(zhuǎn)義字符
OnSuccess="f1('"+PassValue+"')"
這樣就沒問題了
不過上面調(diào)用Ajax的時(shí)候沒注意,這里只是為了給異步調(diào)用方法f1()傳參數(shù)
所以就不用@Ajax了 改成普通A標(biāo)簽就可以了 不然會(huì)調(diào)用兩次控制器
ps:js將方法作為參數(shù)調(diào)用
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>js調(diào)用</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,參數(shù)顯式打散傳遞 print.call(this, a, b, c, d); //用apply方式借用print, 參數(shù)作為一個(gè)數(shù)組傳遞, //這里直接用JavaScript方法內(nèi)本身有的arguments數(shù)組 print.apply(this, arguments); //或者封裝成數(shù)組 print.apply(this, [a, b, c, d]); } //下面將顯示"背光腳本" example("背", "光", "腳", "本"); */ </script> </head> <body> </body> </html>
相關(guān)文章
JS自動(dòng)適應(yīng)的圖片彈窗實(shí)例
這篇文章介紹了JS自動(dòng)適應(yīng)的圖片彈窗實(shí)例代碼,有需要的朋友可以參考一下2013-06-06讓瀏覽器非阻塞加載javascript的幾種方法小結(jié)
通常大多數(shù)瀏覽器是并行下載資源的,但由于外部腳本的特殊性例如通過腳本改變文檔的DOM結(jié)構(gòu)、腳本之間的存在依賴關(guān)系、使用document.write 向頁(yè)面輸出HTML等。2011-04-04vscode錄音及語(yǔ)音實(shí)時(shí)轉(zhuǎn)寫插件開發(fā)并在工作區(qū)生成本地mp3文件附踩坑日記!
以目前的vscode版本來(lái)說,作者并沒有開放訪問本地媒體權(quán)限,所以插件市場(chǎng)里面的所有語(yǔ)音相關(guān)插件也并沒有直接獲取vscode的媒體權(quán)限,這篇文章主要介紹了vscode錄音及語(yǔ)音實(shí)時(shí)轉(zhuǎn)寫插件開發(fā)并在工作區(qū)生成本地mp3文件?踩坑日記!,需要的朋友可以參考下2023-05-05JS/jQuery實(shí)現(xiàn)超簡(jiǎn)單的Table表格添加,刪除行功能示例
這篇文章主要介紹了JS/jQuery實(shí)現(xiàn)超簡(jiǎn)單的Table表格添加,刪除行功能,結(jié)合實(shí)例形式詳細(xì)分析了JS與jQuery針對(duì)Table表格添加,刪除行功能的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07小程序開發(fā)實(shí)戰(zhàn)指南之封裝自定義彈窗組件
最近在做公司的小程序項(xiàng)目,發(fā)現(xiàn)設(shè)計(jì)上有很多不統(tǒng)一,代碼上有很多冗余,下面這篇文章主要給大家介紹了關(guān)于小程序開發(fā)實(shí)戰(zhàn)指南之封裝自定義彈窗組件的相關(guān)資料,需要的朋友可以參考下2022-11-11Javascript 創(chuàng)建類并動(dòng)態(tài)添加屬性及方法的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇Javascript 創(chuàng)建類并動(dòng)態(tài)添加屬性及方法的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-10-10小程序簡(jiǎn)單兩欄瀑布流效果的實(shí)現(xiàn)
這篇文章主要介紹了小程序簡(jiǎn)單兩欄瀑布流效果的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12