Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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
Angularjs GET请求编码时CORS dosent工作_Angularjs_Spring Boot_Security_Cors - Fatal编程技术网

Angularjs GET请求编码时CORS dosent工作

Angularjs GET请求编码时CORS dosent工作,angularjs,spring-boot,security,cors,Angularjs,Spring Boot,Security,Cors,我有一个Spring引导应用程序,它提供了一些REST端点 一个是GET-reques端点:“apirl/client/search/{keyword}”。它从数据库中的所有现有客户中筛选出那些在名称、描述、国家等中有该词的客户 前端部分的应用程序使用NodeJS和PrimeReact。 它将使用 search = (filter) => { const queryString = filter; if (queryString) {

我有一个Spring引导应用程序,它提供了一些REST端点

一个是GET-reques端点:“apirl/client/search/{keyword}”。它从数据库中的所有现有客户中筛选出那些在名称、描述、国家等中有该词的客户

前端部分的应用程序使用NodeJS和PrimeReact。 它将使用

search = (filter) => {
        const queryString = filter;
        if (queryString) {
            fetch(`${API_URL}/client/search/${queryString}`)
我发现了一个小错误:如果我用包含“/”的单词搜索,它将失败,因为调用将尝试“search/word/afterlash”,并用“404notfound”进行响应。 现在我将对这个词进行编码

let encodedQuery = encodeURIcomponent(query);
现在,任何特殊的单词都被编码,但CORS文件管理器对“C/C++”之类的单词都会失败,但对“C++”却有效。上面写着“不” “访问控制允许来源”响应中存在 但是在我的Java服务器中

  response.setHeader("Access-Control-Allow-Origin", "*");

任何其他API都可以很好地工作。

您不应该对url部分进行编码。。。您必须将queryString转换为请求参数(并对其进行编码)


您不应该对url部分进行编码。。。您必须将queryString转换为请求参数(并对其进行编码)


哇,非常感谢。我差点忘了你可以通过search/USA或search?country=USA呼叫。我现在无法测试,但我非常确定这会起作用!谢谢你,如果还有其他问题,muchI会回到这个问题,当然会接受你的正确答案。哇,非常感谢。我差点忘了你可以通过search/USA或search?country=USA呼叫。我现在无法测试,但我非常确定这会起作用!谢谢你,所以如果还有其他问题,muchI会回到这个问题,当然会接受你的正确答案。
${API_URL}/client/search?query=${encodedQueryString}