【问题标题】:javascript : how to send request in restfuljavascript:如何在restful中发送请求
【发布时间】:2011-06-06 08:55:57
【问题描述】:

你好我想问你一件事 如果我将发送多个参数的参数,我如何向 web 服务发送请求(restful)?

编辑:

this.sendRequest = function(){
   var url="http://localhost:8081/inlinetrans/";

   var client = new XMLHttpRequest();
   var oriText ="";
   var stemText ="";
   var folText ="";

   client.open("PUT", url, false);

   client.setRequestHeader("Content-Type", "text/plain");
   client.send(oriText,stemText,folText);


   if (client.status == 200){
   client.responseText;
   }
   else{
    client.statusText;
   }

  }

client.send --> 我要发送到服务器的内容参数

【问题讨论】:

  • 和正常发送请求的方式一样,只是多加一些参数。请向我们展示一些更具体的代码和更具体的问题。

标签: javascript rest xmlhttprequest


【解决方案1】:

如果您要请求数据,则应使用 GET 请求。获取正确数据所需的任何参数都应在查询字符串中传递:

var url = 'http://localhost:8081/inlinetrans?key1=value1&key2=value2...';
client.open("GET", url, true);
client.send(null); 

另一方面,如果您想发送数据到服务器,您应该使用 POST 请求:

var data = ....
client.open("POST", url, true);
client.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
client.setRequestHeader("Connection", "close");
client.send("data=" + encodeURIComponent(data));    

通常data 将是一个 JSON 字符串。当然,这一切都取决于服务的 API。在不了解这些细节的情况下,除了上面的典型示例,我无能为力。

【讨论】:

  • 在某处是否有更多相关文档?
  • 请注意,由于某种原因,通过使用GET 方法执行client.send(null);,您可能会在Chrome (!) 中完成2 个请求。将呼叫更改为 client.send(); 应该可以解决此问题。
猜你喜欢
  • 2012-02-26
  • 2019-01-22
  • 2016-06-01
  • 2013-10-24
  • 2013-10-31
  • 1970-01-01
  • 2011-05-22
  • 2015-01-26
  • 1970-01-01
相关资源
最近更新 更多