我们使用php作为代理来访问web服务并将记录插入数据库,但数据没有插入。有什么想法吗?

我们使用php作为代理来访问web服务并将记录插入数据库,但数据没有插入。有什么想法吗?,php,jquery,ajax,json,proxy,Php,Jquery,Ajax,Json,Proxy,有点背景 下面名为proxy.php的php文件用于指向名为getUserDetails的web服务 //proxy.php <?php $ch = curl_init("http://myotherdomain.com/getUserDetails"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt ($ch, CURLOPT_POS

有点背景

下面名为proxy.php的php文件用于指向名为getUserDetails的web服务

//proxy.php
 <?php
    $ch = curl_init("http://myotherdomain.com/getUserDetails");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $_POST);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch);      
    curl_close($ch);
    echo $output
  ?>
但是,单击“提交”按钮后,不会插入任何记录

我曾尝试使用firebug进行调试,但没有出现错误

下面是我用来插入记录的ajax脚本

知道我做错了什么吗

提前谢谢

 <script type="text/javascript">

 function CallService() {

 // Creating variables to hold data from textboxes

 var myaddress = $("#Address").val();
 var mycity = $("#City").val();
 var mydistrict = $("#District").val();
 var mylocation = $("#Location").val();
 var mystate = $("#State").val();
 var mystreet = $("#Street").val();
 var myzip = $("#Zip").val();


  $.ajax({
  type: "POST",
  url: "proxyInsert.php",
  data: JSON.stringify({Address: myaddress,City: mycity,District: mydistrict,Location: mylocation,State: mystate,Street: mystreet,Zip: myzip }),
  contentType: "application/json; charset=utf-8",

  dataType: "json",
  success: function(data){alert(data);},
  failure: function(errMsg) {
  alert(errMsg);
  }
 });
 }

 </script>


//Markup
       <button type="submit" onclick="CallService()">Submit</span></button>

JSON.stringify看起来可疑,因为您试图使用$\u POST在服务器端访问数据,但数据在请求正文中,而不是POST参数中。@KevinB,您好,感谢您的快速响应。但我不确定我是否理解你反对JSON.stringify的论点。插入代码是在第一个ajax之后模块化的,它使用$\u POST和JSON.stringify对用户进行身份验证。stringify当然返回一个JSON字符串,它不是参数字符串。因为您正在向服务器发布一个JSON字符串,所以JSON字符串将成为请求主体,$\u POST将为空。@KevinB,我想我现在明白您的意思了。您的观点是,尽管第一个ajax是通过代理发布到web服务的,但它只是验证和返回结果,而不是试图向数据库插入记录的插入位,不是吗?如果是的话,我已经在线查看了大量的示例,我看到JSON.stringify正在向数据库提交记录?假设这些例子有点误导,那么我需要改变什么呢?这些例子就是,这些例子。它们不是规则。将数据作为json字符串发送并没有错,只是另一种方式而已。如果要发送json字符串,则需要在php中正确接受json字符串。
$ch = curl_init("http://myotherdomain.com/createRecords");
 <script type="text/javascript">

 function CallService() {

 // Creating variables to hold data from textboxes

 var myaddress = $("#Address").val();
 var mycity = $("#City").val();
 var mydistrict = $("#District").val();
 var mylocation = $("#Location").val();
 var mystate = $("#State").val();
 var mystreet = $("#Street").val();
 var myzip = $("#Zip").val();


  $.ajax({
  type: "POST",
  url: "proxyInsert.php",
  data: JSON.stringify({Address: myaddress,City: mycity,District: mydistrict,Location: mylocation,State: mystate,Street: mystreet,Zip: myzip }),
  contentType: "application/json; charset=utf-8",

  dataType: "json",
  success: function(data){alert(data);},
  failure: function(errMsg) {
  alert(errMsg);
  }
 });
 }

 </script>


//Markup
       <button type="submit" onclick="CallService()">Submit</span></button>