首先我说的是我是新手到PHP,
我在客户端使用 jquery(knockout js) 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); } }
public function SaveClient($userToken) { $value = json_decode($Clientdata); echo $value->ClientData[0]; }
*我的问题 *:
>我不清楚如何在PHP中POST数据?我尝试使用$_POST [”]方法以及更多.
>我使用eclipse作为PHP框架.所以,当我发布数据时,无法调试它.正常模式我可以调试我的代码,但不是从远程.因为我也修改了PHP.ini文件.
如何通过远程邮箱进行调试?
我的请求样本:
假设我使用:
对于,数据: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).