Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中发送路径参数?_Javascript_Jquery_Rest_Uri_Aws Api Gateway - Fatal编程技术网

如何在javascript中发送路径参数?

如何在javascript中发送路径参数?,javascript,jquery,rest,uri,aws-api-gateway,Javascript,Jquery,Rest,Uri,Aws Api Gateway,所以我已经研究了好几天了,在网上找不到答案。我正在AWSAPI网关中创建一个API,并注意到“路径参数”和“查询参数”之间的区别。我已经阅读并了解了其中的差异,何时应该使用它们,等等。但是,我找不到的是如何实现和发送路径参数 例如,当涉及到查询参数时,您可以在ajax jQuery的“数据”部分发送这些参数。容易的但是,我又如何在ajax调用中包含路径参数呢?我可以在API网关上设置路径,但不确定如何从前端发送数据。任何帮助都将不胜感激。谢谢 示例:root/{Animal}/ 如何将“动物”即

所以我已经研究了好几天了,在网上找不到答案。我正在AWSAPI网关中创建一个API,并注意到“路径参数”和“查询参数”之间的区别。我已经阅读并了解了其中的差异,何时应该使用它们,等等。但是,我找不到的是如何实现和发送路径参数

例如,当涉及到查询参数时,您可以在ajax jQuery的“数据”部分发送这些参数。容易的但是,我又如何在ajax调用中包含路径参数呢?我可以在API网关上设置路径,但不确定如何从前端发送数据。任何帮助都将不胜感激。谢谢

示例:root/{Animal}/


如何将“动物”即“狗”作为路径参数而不是查询参数发送?i、 e./?animal=dog

您只需要形成URL字符串,而不发送任何数据

let animal = 'dog';

$.ajax({ 
url: serviceUrl + '/' + animal,
method: 'GET',
success: function(res) { // your code }
});
如果您从id为txtSearchAnimal的文本框中获取输入:

let animal = $('#txtSearchAnimal').val();

使用上面的ajax调用。

如果您能够分享到目前为止为这个ajax请求编写的一些代码,如果您能够更多地描述来自前端的预期信息流,以便社区能够提供更有意义的答案,这可能会有所帮助,除了ajax部分,因为我认为它不会有帮助。谢谢你的回答。那么,这是从JavaScript发送路径参数的“官方”方式吗?它看起来更“硬编码”,而不是看起来更干净。例如,如何使用“数据”发送查询参数等。不过还是要感谢。有一个问题,我仍然可以发送带有“data”的查询参数以及带有路径参数的URL吗?如果需要,可以发送两个吗?
我仍然可以发送带有“数据”的查询参数以及带有路径参数的URL吗?如果需要,可以同时发送两个吗?
-可以。两个都可以。根据RESTAPI指南,路径参数是构造URL的方法,但我们可以同时使用这两种方法。总体思路是将所需参数保留为路径参数,将查询参数保留为可选参数。对于您的ref:
那么这是从JavaScript发送路径参数的“官方”方式吗?它看起来更“硬编码”,而不是看起来更干净
——这只是一个例子。我还提到,如果您有一个搜索文本框,并且希望根据用户输入设置路径参数,那么您可以使用它。如果您想从配置中获取它,只需将配置值推送到变量(这里是它的动物,但可以是任何东西)@UltimateTechDiscovery“硬编码,而不是看起来更干净”?两个变量的字符串连接是如何硬编码的?比什么更干净?您可以使用插值而不是串联
${serviceUrl}/${animal}
也许这更干净,但您要寻找的是什么?我的意思是更干净,因为现有的东西可以实现该功能,而不是将数据“硬编码”到URL中。例如,要发送带有查询参数的数据,您不需要像字面上写“?cat=Chloe&dog=Marley”等那样将序列化的字符串“硬编码”到URL中,而是有一种更干净的方法来使用ajax“数据”,即数据:serialize(xvariable);。看到区别了吗?我想知道是否有一种官方的更干净的方法来处理路径参数,例如,除了路径参数,ajax中的数据可以做什么;而不是直接写在URL上。