Masalah dan penyelesaian yang berkaitan dengan menghantar parameter pembolehubah dalam kemahiran JavaScript calls_javascript

WBOY
Lepaskan: 2016-05-16 15:34:27
asal
1233 orang telah melayarinya

Contoh

Terdapat kaedah js yang menerima parameter:

Salin kod Kod adalah seperti berikut:

fungsi f1(myValue){ alert(myValue);
mempunyai pembolehubah:

Salin kod Kod adalah seperti berikut:
var passValue="Hello World";

Apabila memanggil kaedah ini (saya muncul apabila Ajax menyerahkan):

@Ajax.ActionLink("Teks","Pengawal",{parameter} baharu,AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })

Perhatikan OnSuccess yang terakhir di sini Jika anda membuang pembolehubah secara langsung, pembolehubah akan dianggap sebagai rentetan

Ia tidak akan berfungsi jika anda menukarnya kepada OnSuccess="f1(" PassValue ")"

Selepas mencari, ternyata watak melarikan diri diperlukan

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

Baiklah

Tetapi saya tidak memberi perhatian apabila memanggil Ajax di atas Ini hanya untuk menghantar parameter kepada kaedah panggilan tak segerak f1()

Jadi tidak perlu @Ajax Cuma tukar kepada tag A biasa, jika tidak, pengawal akan dipanggil dua kali

ps:js memanggil kaedah sebagai parameter

<!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>
Salin selepas log masuk
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan