Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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 将任何URL作为查询参数发送到API_Javascript_Rest_Api_Jersey - Fatal编程技术网

Javascript 将任何URL作为查询参数发送到API

Javascript 将任何URL作为查询参数发送到API,javascript,rest,api,jersey,Javascript,Rest,Api,Jersey,因此,最近我尝试向公开的RESTAPI发出post(javascript ajax)请求,URL作为查询参数。假设端点是example.com/api/URL,我试图向该端点发出post请求,URL作为查询参数,如下所示 example.com/api/url/url=http://xyz.abc?a=sdffd&jkder 现在,我为查询参数(url)获取的资源值是http://xyz.abc?a=sdffd,我的要求是获取完整的url,即http://xyz.abc?a=sdffd&jkde

因此,最近我尝试向公开的RESTAPI发出post(javascript ajax)请求,URL作为查询参数。假设端点是
example.com/api/URL
,我试图向该端点发出post请求,URL作为查询参数,如下所示

example.com/api/url/url=http://xyz.abc?a=sdffd&jkder

现在,我为查询参数(url)获取的资源值是
http://xyz.abc?a=sdffd
,我的要求是获取完整的url,即
http://xyz.abc?a=sdffd&jkder

更新:
始终可以通过请求正文发送URL,但我们可以通过查询参数发送它。

您需要对URL中的符号进行百分比编码。
代码是
%26

你好,你能为你的参数构建一个对象吗?像这样

 var requestData = {
        url : 'http://xyz.abc?a=sdffd&jkder'
    };

    $.ajax({
        url: 'example.com/api/urls',
        type: 'POST',
        data: JSON.stringify(requestData),
        dataType: 'json',
        contentType: 'application/json; charset=utf-8',
        error: function (xhr) {
            // do stuff on error
        },
        success: function (result) {                
            // do stuff on success
        },
        async: true,
        processData: false
    });

您需要对URL字符串进行URL编码,最好在发送到服务器之前对任何请求参数进行URL编码,以避免解码问题

URLEncoder.encode()在Java中存在。
Javascript应该是类似的库。

有在线表格列出了所有HTML实体代码,请参阅