我们有一个返回产品信息的网络服务。服务期望在发布数据中有一个JSON数组...该
来自简单HTML测试网页的示例脚本如下所示(该脚本按预期工作):
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ // request is array of product IDs e.g. pid:[71,72,74] // request is array of search terms e.g. find:['apples','oranges','pears'] // request can contain requested fields from products // fields:['CostPrice','Published','title','Price'] jQuery.ajax({ url : 'http://somewebsite.com/__getProductData', type: 'POST', dataType : 'json', data: { pid:[658,71,6,700], fields:['pid','CostPrice','type','published','title'] }, success:function(data) { // do something with the response... }); }, error: function( jqXHR, textStatus, errorThrown) {alert('Error Status:' + textStatus + ' Error:'+errorThrown); } } ); }); </script>
用PHP编写的web服务正确地接收到这一信息。转储(打印)web服务从客户端接收的数据将导致以下数组:
Array ( [pid] => Array ( [0] => 658 [1] => 71 [2] => 6 [3] => 700 ) [fields] => Array ( [0] => pid [1] => CostPrice [2] => type [3] => type [4] => published [5] => title )
现在问题来了......我试图从Google Sheet Script调用webservice,如下所示:
function getProduct( pid,datetime) { // var url = 'https://somewebsite.com/__getProductData'; //pid:[658,71,6,700], fields:['pid','CostPrice','type','published','title'] var nids = new Array( 658,71,6,700 ); var fields = ['pid','CostPrice','type','published','title'] var payload = { pid : nids, fields: fields }; var options = { "method": 'POST', "payload": payload }; var response = UrlFetchApp.fetch(url, options); Logger.log(response); }
从Google Sheets脚本调用PHP web服务时,JSON数组未正确接收:
Array ( [data] => { pid=[Ljava.lang.Object;@1bfbb500} fields=[Ljava.lang.Object;@3ffbb500})
我想这是与编码或头相关的东西。。。我尝试了大多数标题和contentType的组合,但都没有用。。。。例如
var headers = { "Accept":"json", "Content-Type":"application/json", };
有人建议吗?
我想我已经解决了同样的问题:如何发送一个帖子请求与一个数组的有效载荷由urlfechapp
有效载荷必须以这种方式准备!我在编写PHP脚本时发现了这个解决方案。
var payload =
{
"fields[0]":"firstString",
"fields[1]":"anotherString in array",
}
不是很直观,但对我来说很有效!
乔纳森-你建议的评论是解决方案......
这不起作用:
var options =
{
"method": 'POST',
"payload": JSON.stringify(payload)
};
但是stringify对有效载荷数组元素起作用(注意,简单的元素在没有stringify的情况下起作用,例如“文本”:“这里有一些文本”):
var nids = [658,71,6,700 ];
var fields = ['pid','CostPrice','type','published','title']
var payload =
{
pid : JSON.stringify(nids),
fields: JSON.stringify(fields)
};
var options =
{
"method": 'POST',
"payload": payload
};
var options = {
"method": 'POST',
"payload": JSON.stringify(payload)
};
或字符串化pid的每个值
我的的部分当前如下所示: ...这意味着我可以运行来启动服务器。到目前为止还不错。 但是,我希望能够运行类似的东西,并将参数传递给(例如,=>)。这可能吗?
问题内容: 什么是场景 我想从Android向服务器发送多个ArrayList(通常为5个),并将其插入到mysql数据库中。 我成功完成的工作 我已使用JSON成功将Android中的单个值和多个值发送到PHP脚本 我已经使用JSON从mysql数据库到android接收了单条记录和多条记录 这是用于从服务器插入值并从中获取价值的代码 和TeacherAuthen.php脚本 我被困在那里 我没
问题内容: 我想从Linux Shell脚本发送电子邮件。要执行此操作的标准命令是什么,我是否需要设置任何特殊的服务器名称? 问题答案: 如果服务器配置正确,例如它已启动并正在运行MTA,则可以只使用mail命令。 例如,要发送文件的内容,可以执行以下操作: 更多细节。
问题内容: 我正在尝试将消息从后台页面发送到内容脚本,然后将消息从该内容脚本发送到注入的脚本。我已经尝试过了,但是没有用。 这是我的代码的样子。 manifest.json background.js content_script.js injection.js 从第一部分背景-> content_script开始,消息发送不起作用。我的代码有什么问题吗? 问题答案: 由于内容脚本的注入方式,您的
我正在从Bash脚本启动一个名为 的Java代码。Bash 脚本启动 Java 代码,然后运行 Java 代码。在Java程序结束时,我想发送一个信号回到Bash脚本以终止。请记住,Bash 脚本在 PID = 1 的情况下运行。我必须杀死PID 1过程。 我设置了bash脚本,使其在无限循环中运行,并< code >等待终止信号: 我正在使用Docker实例,信号是< code>sigterm。
和我的java代码作为 现在我的Arcticle类是 现在我在排队时例外 system.out.println(user.getRouteFirst()); Gson Gson=新Gson(); typeToken>token=new typeToken>(){};List personList=gson.fromjson(user.getRouteFirst(),token.getType())