簡體   English   中英

如何在jQuery中傳遞URL參數

[英]How to pass url parameters in jQuery

我正在為復選框樹實現jQuery Easy UI插件。 從我的動作類加載節點數據時遇到問題。 url屬性似乎不接受參數-

如果我提供url: '/webapp/fetchData'我就能獲取數據。 但是如果我給

url: '/webapp/fetchData?nodeId='+nodeId我的操作類無法獲取nodeId參數。 有什么辦法嗎?

從注釋移植的編輯代碼:

onExpand: function(node) {
  alert("inside expand"); 
  var nodeId = node.id; 
  url: '/webapp/fetchdata?nodeId='+nodeId ; 
}

這對我有用:

解決方案1:從靜態HTML javascript:調用方:

function onBeforeLoad (node, data)
{
    data.Name=name;
}

調用者端的HTML:

<ul id="ScriptTree1" class="easyui-tree" lines="true" data-options="onBeforeLoad:onBeforeLoad, lines:true, processData:false" url="someural.php"/>

解決方案2:來自動態代碼: HTML

<ul id="ScriptTree2" class="easyui-tree" animate="true"></ul>

在任何特定事件上觸發的Javascript函數:

function filltree ()
{
$('#ScriptTree2').tree
({  
        dataType:'json',
        method:'POST', 
        lines: true, 
        processData:false, 
        onBeforeLoad: function (node,param) { param.Name=name; return true;},
        onLoadError: function (dom) 
            { 
                if (!String.prototype.trim) 
                {
                    String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g, '');};
                }

                var sResponse = new String (arguments[0].responseText);

                alert ('Compl: ' + arguments[1] + ' ' + arguments[2].description + ' ' + arguments[2].name + '\r\nAnswer:\r\n' + sResponse.trim() + '\r\nQuery: \r\n' + decodeURIComponent(arguments.caller.caller.caller[0].data)); 

                return true;
            },
        url:'someurl.php'
    });
}

和被調用者腳本: someurl.php

<?
if ($_POST['Name']    != '') {$Name=$_POST['Name'];}      else {$Name='';};

if ($_POST) 
{
  $kv = array();
  foreach ($_POST as $key => $value) 
  {
    $kv[] = "$key=$value";
  }
  $query_string = join(" | ", $kv);
}

echo '[{"id":100,"text":"params","state":"open","children":[{"id":104,"text":"query_string: '.$query_string.'","state":"open"}]}]';
?>

嘗試這個:

使用POST

function DoAction( id, name )
{
$.ajax({
     type: "POST",
     url: "someurl.php",
     data: "id=" + id + "&name=" + name,
     success: function(msg){
                 alert( "Data Saved: " + msg );
              }
});
}

使用GET

function DoAction( id, name )
{
 $.ajax({
      type: "GET",
      url: "someurl.php",
      data: "id=" + id + "&name=" + name,
      success: function(msg){
                 alert( "Data Saved: " + msg );
               }
 });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM