如何从HTMl表单向PHP发送JSON对象

时间:2015-01-03 02:44:10

标签: php jquery xml json api

我正在尝试为酒店预订集成XML API解决方案,我想使用JSON将注册发送到php,以便系统可以返回响应。 表格是:

<form action="https://www.bookingassist.ro/test/html/hotel-list-view.php" method="post">
<label>Destinatie</label>
<input type="text" value="Oras" name="City" id="autocomplete" placeholder="Oras sau regiune" />
<label>Check In</label>
<input type="text" name="In" value="AAAA/LL/ZZ" class="input-text full-width" placeholder="yyyy/mm/dd" />
label>Check Out</label>
<input type="text" name="Out" value="AAAA/LL/ZZ" class="input-text full-width" placeholder="yyyy/mm/dd" />
<label>Camere</label>">
 <select name="RoomsNR" class="full-width">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<label>Adulti</label>
<select name="Adults" class="full-width">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<label>Copii</label>
<select name="Kids" class="full-width">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
 <option value="3">3</option>
<option value="4">4</option>
 </select>
<button type="submit">CAUTA</button>
</form>

对于这个城市,我用邮寄进出。

我需要在php中收到如下信息: - 例如选择2个房间和4个成人

  // First Room
  $rooms[] = array(array("paxType" => "Adult"));

  // Second Room
  $rooms[] = array(array("paxType" => "Adult"), array("paxType" => "Adult"));

我试图使用post发送值并创建一些php规则,因为它不能正常工作。 有几个人喜欢我用JSON做这件事,但我不知道如何做到这一点。 有助于此API系统的说明可在以下网址找到:www.hotelspro.com/xf_4.0/HotelsPro_XML_booking_system_4_1.doc

1 个答案:

答案 0 :(得分:1)

  

有些人劝我用JSON

来做这件事

好吧,他们可能会这样做,但如果你想更轻松地解决这个问题,你应该把事情分开。

您如何处理HTML表单以及如何提交数据(通过经典提交按钮向服务器发出HTTP POST请求,或者使用一些获取表单数据并创建HTTP POST请求的javascript代码如何与远程API进行交互,这不是一个问题。

以你的这句话为例,描述你的问题:

  

我试图使用post发送值并创建一些php规则,因为它不能正常工作。

鉴于应用程序中有两个主要部分(很可能有三个部分,输入(1)和处理(2)旁边还有输出(3)),您必须首先找到问题发生的位置

例如:输入的UI /例程可能还不是100%完美(帽子在输入(1)中),但在处理(2)中创建错误的中间数据格式已经算作错误了#39自己的。不是(1)的可能错误输入是问题,而是处理(2)无法检测到。

所以现在查看输入(1)以解决处理(2)中的问题通常不能很好地工作,因为你经常会在错误的地方找工作。

首先模拟输入(只需根据需要设置变量)并检查与远程API的交互是否按预期工作。

这也应该确保您不会分心,因为有人只向您发送了另一个新术语,只会产生更多问号。