通过Javascript调用在php上获取Ajax POST数据

前端之家收集整理的这篇文章主要介绍了通过Javascript调用在php上获取Ajax POST数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
首先我说的是我是新手到PHP,
我在客户端使用 jquery(knockout js) PHP在服务器端.我的代码

客户端:我正在使用knockout js(Javascript).调用我的PHP服务.

我的代码

self.VMSaveEditUserMode = function () {
   try {
      var params = { "ClientData": [controllerVM_.ClientID(),controllerVM_.VMList[0].ClientName(),controllerVM_.VMList[0].ShortName(),controllerVM_.VMList[0].Address(),controllerVM_.VMList[0].CreatedBy(),controllerVM_.VMList[0].CityName(),controllerVM_.VMList[0].PostalCode(),controllerVM_.VMList[0].ContactEmail(),controllerVM_.VMList[0].ContactPhone(),controllerVM_.VMList[0].IsCorporate()] };

      $.ajax({
         type: "POST",url: URL + "index.PHP/PHPService/SaveClient/" + controllerVM_.TokenKey(),data: JSON.stringify(ko.toJS(params)),contentType: "application/json",async: true,dataType: 'json',cache: false,success: function (response) {
         },error: function (ErrorResponse) {
            if (ErrorResponse.statusText == "OK") {
            }
            else {
               alert("ErrorMsg:" + ErrorResponse.statusText);
            }
         }
      });
   }
   catch (error) {
      alert("Catch:" + error);
   }
}

服务器端我的代码,我正在使用这个PHP代码来连接数据库.

PHP代码

public function SaveClient($userToken)
    {   
       $value = json_decode($Clientdata);
       echo $value->ClientData[0];
    }

*我的问题 *:

>我不清楚如何在PHP中POST数据?我尝试使用$_POST [”]方法以及更多.
>我使用eclipse作为PHP框架.所以,当我发布数据时,无法调试它.正常模式我可以调试我的代码,但不是从远程.因为我也修改PHP.ini文件.

如何获取PHP代码发布数据的响应?

如何通过远程邮箱进行调试?

我的请求样本:

假设我使用:

对于,数据:params,只有当时我的请求格式是.

ClientData%5B%5D=4&ClientData%5B%5D=kamlesh&ClientData%5B%5D=KAM&ClientData%5B%5D=Junagadh&ClientData%5B%5D=me&ClientData%5B%5D=SANTA+ROSA&ClientData%5B%5D=76220&ClientData%5B%5D=kamlesh.vadiyatar%40gmail.com&ClientData%5B%5D=9998305904&ClientData%5B%5D=false

数据:JSON.stringify(ko.toJS(params)),

{"ClientData":["4","kamlesh","KAM","Junagadh","me","SANTA ROSA","76220","kamlesh.vadiyatar@gmail.com","9998305904",false]}

解决方法

如果我理解正确,您需要创建一个能够从客户端接收类似REST的请求的PHP服务.

为了做好你需要访问原始的POST数据.在PHP中,它像这样做:

$ClientData = file_get_contents('PHP://input');

您可以在wrappers documentation中阅读更多有关PHP://的输入.

当然,从客户端来看,数据需要使用POST方法和原始数据(即字符串)进行发送.您可以使用已经执行的JSON.stringify()从对象获取字符串.

如果传递一个对象,那么将使用query-string格式通过jQuery将内部转换为字符串.更多关于jQuery documentation for $.ajax(最重要的选择是数据和processData).

猜你在找的Ajax相关文章