如何为Javascript URL传递SQL通配符?

如何为Javascript URL传递SQL通配符?,javascript,Javascript,我在我的web应用程序中有一个带有如下查询的路由: SELECT * FROM [Example].[dbo].[Table] WHERE (name LIKE query_string OR pm_prod_domain LIKE query_string) 对于node.js,url如下所示 router.get('/getExampleTableStuff/getInformation/:query_string 我使用SQL通配符调用AJAX,以便从表中获取所有数据 $.ajax

我在我的web应用程序中有一个带有如下查询的路由:

SELECT * FROM [Example].[dbo].[Table] 
WHERE (name LIKE query_string 
OR pm_prod_domain LIKE query_string)
对于node.js,url如下所示

router.get('/getExampleTableStuff/getInformation/:query_string
我使用SQL通配符调用AJAX,以便从表中获取所有数据

$.ajax({
        type: 'GET',
        url: '/getExampleTableStuff/getInformation/%%',
        headers : { "content-type":"application/json"}
    }).done(function (results) { console.log(results) });
这会由于url中的
%
而导致错误。如何解决此问题,以便传递通配符并从表中获取所有数据?我正在使用squel库在我的后端生成SQL

使用如下函数,问题将得到解决:

$.ajax({
        type: 'GET',
        url: encodeURI('/getExampleTableStuff/getInformation/%%'),
        headers : { "content-type":"application/json"}
    }).done(function (results) { console.log(results) });

您不应该只对URL值进行编码,而不是对整个URL进行编码吗?似乎对斜杠进行URL编码可能会导致问题。此外,SQL注入似乎难以接受这一点…@David这也是我将此作为问题发布的部分原因,尽管我有一个可行的解决方案。想看看是否有人有更好的答案来解决这个问题:)