2016-02-10 162 views
1

我想將字符串傳遞給使用Ajax的服務。但我得到的錯誤unexpected token illegal將參數傳遞給ajax請求的正確方法

function main() { 
    age = <%= myclass._age %>; 
    passedname = encodeURIComponent(<%= myclass._namestrings %>); 
    $.ajax({ 
     url: 'https://myservice/index.json', 
     dataType: 'json', 
     data: "searchstring=" + passedname + "&take=" + age + "", 
     success: function (data) { 
      var first = true; 
      $("#dataDiv").html(""); 
      $.each(data, function (index, record) { 
       var html = ""; 

       $.each(record, function (index1, data) { 
        html += data.name; 

       }); 
       $("#myDiv").append(html); 

      }); 
     }, 
     statusCode: { 
      404: function() { 
       debugger; 
       alert('Failed'); 
      } 
     } 
    }); 
} 

我通過可變passedname約翰但它給錯誤。 如果我通過變量傳遞名稱爲「約翰」,即傳遞雙引號,那麼它的工作原理。我不希望用戶使用雙引號將其傳遞。

+0

在此頁由服務器呈現?我認爲這個錯誤是因爲'<%= myclass._age%>'和'<%= myclass._namestrings%>'Java scriptlets沒有被渲染,或者它們缺少引號'''如果你查看HTML你可以在代碼中看到什麼?試着編寫'「<%= myclass._age%>」和'「<%= myclass._namestrings%>」(年齡可能不需要引號,因爲我假設它是一個數字) – valepu

+0

@valepu感謝它與「<%= myclass._namestrings%>」 – Happy

回答

1

你需要把那個被替換的服務器端的字符串值之間的報價,在這種情況下,你應該<%= myclass._namestrings %>之間添加引號:

passedname = encodeURIComponent("<%= myclass._namestrings %>"); 
相關問題