【问题标题】:JSON, PHP and REST Web servicesJSON、PHP 和 REST Web 服务
【发布时间】:2017-07-04 23:39:53
【问题描述】:

我是新手,所以请耐心等待...(我会像给我的代码一样编写它)...我正在处理带有 .js 文件的 PHP 文件(如果不知何故这可能会有所帮助),这是一个 CRM 插入。

我需要使用以下来源的 REST Web 服务:

http://example.com:8080/path/to/folder

从 PHP(POST 方法)表单中,我需要发送带有数据的 JSON(也可以使用 jQuery 发送):

{
"name": "Name",
"lastname": "Last Name",
"email": "name@example.com", (need to be validated on PHP)
"phone": "19283764", (need to be validated on PHP)
"source": "eCommerce",
"credential": "no"
}

得到这个响应:

{
"response":[X]{
"result":[X]{
"message": "Record(s) added successfully",
"recorddetail":[X]{
"FL":[ ][{"content": 5646542168321358, "val": "Id" }, {"content": "2017-06-30 11:25:17",…]
}
},
"uri": "/crm/private/xml/Leads/insertRecords"
}
}

如果有人可以请给我一个如何实现这一目标的例子,那就太棒了。或者说明在每个文件中写入的位置和内容也将不胜感激。

感谢您的帮助!

【问题讨论】:

  • 你不知道如何使用 jQuery 向服务器发送 post 请求吗?
  • @SarathKumar,我只知道一些编程的基本知识,但不是这样的。感谢您的回复...
  • 学习一些php/ajax教程。问题太宽泛了。您需要将其分解为较小的任务,并一次处理一个任务序列
  • 响应 JSON 中的FL 是什么?

标签: php jquery json rest


【解决方案1】:

在 php 中,您可以使用 curl 进行此操作,也可以像这样在 url 中发送数据。

$json = array(
    "name"=>"Name",
    "lastname"=>"Last Name",
    "email"=>"name@example.com",
    "phone"=>"19283764", 
    "source"=>"eCommerce",
    "credential"=>"no"
)
$response = json_decode(file_get_contents("http://example.com:8080/path/to/folder?json=$json"));
echo $response;

而在接收这个的另一端

$email = $_GET["json"]["email"];
$phone = $_GET["json"]["phone"];

$json = '{
    "response":[X]{
    "result":[X]{
    "message": "Record(s) added successfully",
    "recorddetail":[X]{
    "FL":[ ][{"content": 5646542168321358, "val": "Id" }, {"content": "2017-06-30 11:25:17",…]
    }
    },
    "uri": "/crm/private/xml/Leads/insertRecords"
    }
    }';

echo json_encode($json);

在 jquery 中。

var json = {
    "name": "Name",
    "lastname": "Last Name",
    "email": "name@example.com", 
    "phone": "19283764",
    "source": "eCommerce",
    "credential": "no"
}

$.ajax({
    url: "http://example.com:8080/path/to/folder",
    type: "POST",
    data: json,
    success: function(data) {
        console.log(data);
    }
)};

如果你使用这个 jquery 方法,你必须使用 $_POST["json"] 而不是 $_GET["json"]

【讨论】:

    【解决方案2】:

    向服务器发送 JSON 并解析服务器的输出

    var data={name:"Oliver",last_name:"Schael",phone:2445}
    $.post("http://example.com:8080/path/to/folder",data,function(response){
      var json_output=JSON.parse(response);
    });
    

    【讨论】:

    • 我应该将这段代码粘贴到哪里以及如何从 PHP 表单中调用它? JSON 数据也应该从 PHP 中获取...
    • 这是一个 jQuery 代码。所以你必须粘贴到脚本部分。
    • 如何从 PHP 提交表单中调用脚本并从中获取变量?
    • 按要求发送 json,并且没有$.POST()。 javascript 区分大小写
    猜你喜欢
    • 2012-10-21
    • 1970-01-01
    • 2013-09-04
    • 1970-01-01
    • 2013-08-07
    • 2014-12-25
    • 1970-01-01
    • 2011-04-22
    • 2014-02-24
    相关资源
    最近更新 更多