[英]I would like to use php as proxy server to pass json data to a webservice, what am I doing wrong?
以下是我試圖用作代理的php腳本,用於將兩個參數(用戶名和密碼)傳遞給Web服務,以返回json格式的數據。
這是著名的相同域限制策略的解決方法。
我不斷收到無效的用戶名或密碼。
ajax文件正在嘗試通過php代理腳本將兩個參數傳遞給Web服務。
這是ajax文件的片段:
var uname = $("#user").val();
var upass = $("#pass").val();
$.post("proxyurl.php",
{ data: JSON.stringify({ LoginName: uname,Password: upass }) })
.done(function(data) {
下面是proxyurl.php
<?php
$ch = curl_init("http://myotherdomain.com/getUserDetails");
$strUser = $_POST["uname"];
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS,"LoginName=".urlencode($strUser));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
curl_close($ch);
echo $output
?>
提前感謝你的幫助
您實際上是通過LoginName
和Password
發送到代理腳本的,而不是uname
。
同樣,curlopt_Postfields非常樂意接受鍵/值對的數組,並將為您編碼。 無需自己手動構建key=value
字符串。
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
從技術上講,這是您真正需要做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.