2014-01-15 37 views
0

使用以下腳本我從jQuery datepicker獲取日期值並將其傳遞給jQuery AJAX調用。一切正常,但在AJAX URL中遇到&符號問題。jQuery AJAX URL&符號(&)格式

這是我的代碼:

<script type="text/javascript"> 
     $(document).ready(function(){ 

      $('#datepicker').datepicker({ 
      dateFormat: 'yy-mm-dd', 
       onSelect: function (date) { 

       //capture date values from datepicker 
       var date = date; 
       var year = date.substr(0,4); 
       var month = date.substr(5,2); 
       var day = date.substr(8,2); 
       var url = "http://www.example.com?view=week" + "&year=" + year + "&month=" + month + "&date=" + day; 


       //ajax events load 
       $.ajax({url: url ,success:function(result){ 
        $("#ajaxEvents").html(result); 
       }}); 

       //close datepicker 
       $('#datepicker').toggle(); 
       $(this).toggleClass('close'); 

       return false; 
      } 

     }) 

    }); 
    </script> 

當我使用招檢查AJAX請求你可以看到URL格式如下:

http://www.example.com?view=week&amp;year=2014&amp;month=01&amp;date=23 

注意,所有的「&」人物都是在URL中轉換。爲了使查詢正常工作,我需要的格式是:

http://www.example.com?view=week&year=2014&month=01&date=23 

任何想法我怎麼能防止格式從AJAX請求改變?

在此先感謝!

回答

1

添加一個數據元素的jQuery的AJAX功能

data: { year: "2014", month: "Jan", date: "15" } 

jQuery將它添加到URL爲您服務。

//ajax events load 
$.ajax({url: url, data: { year: '"'+year+'"', month: '"'+month+'"', date: '"'+day+'"'} ,success:function(result){ 
$("#ajaxEvents").html(result); 
}}); 
+0

我不得不稍微改變格式,但是這給了我需要的請求。謝謝! $(ajaxEvents)。html(result)$ .ajax({url:url2,data:{year:+ year,month:+ month,date:+ day},success:function(result){$ ajaxEvents「 ; }}); – OtoNoOto

+0

使用URL請求獲取發送爲http://www.example.com?year=2014&month=1&date=29 – OtoNoOto

+0

對不起,我加倍「編輯變量,他們需要字符串,在你的情況下,他們已經是字符串。我的壞。 – Wayne

0

當使用ajax函數時,信息不應該在url中手動發送。嘗試使用這樣的:

var url = "http://www.example.com"; 
var data = "view=week" + "&year=" + year + "&month=" + month + "&date=" + day; 

$.ajax({ 
     url: url , 
     success: function(result){$("#ajaxEvents").html(result);}, 
     data: data 
}); 

我們正在做的是seperately使得查詢字符串,並使用數據屬性發送到AJAX功能。

+0

感謝您的回覆。我嘗試了您的更新,但URL請求仍然以「http://www.example.com?view=week & year = 2014 & month = 01 & date = 23」的形式發送,因此查詢無法正確執行。 – OtoNoOto

0

在我的情況下,以下沒有工作:

url: 'myAnalysis.php?fName='+fNameVal+'&lName='+lNameVal 

所以,我取代它:

url: 'myAnalysis.php', data: { fName: fNameVal, lName: lNameVal} 

,並開始工作。