我一直致力于构建一个应用程序,通过phonegap应用程序检查服务器的状态。问题是客户端没有授予我访问现有API或服务器的权限。他给我的唯一信息是:“例如,您可以通过jQuery向xmlUserApi.php发送一个名为”request“的请求。”
据我了解,我们正在以格式
发送一些XML<xmlApi>
<action> getServerList </action>
<auth></auth>
</xmlApi>
例如,从中返回所有服务器的XML列表。
每当我尝试将此数据发布到PHP(xmlUserApi.php)时,都不会返回任何内容。我觉得浏览PHP会很有帮助,但是,客户端不会让我这么做。
非常感谢任何帮助/想法
修改
我在检查员中得到的回应是:
<form action=xmlUserApi.php method=post>
<textarea name=request cols=120 rows=30></textarea>
<input type=submit value=Request></form><br><br>86.135.213.213
答案 0 :(得分:0)
您的客户建议以编程方式复制用户在其提供的地址填写表单的操作。
要做到这一点,试试这个:
var xmlData = '<xmlApi><action> getServerList </action><auth>xxxxxx</auth></xmlApi>';
var serverPath = 'http://some.com/path/';
var requestPath = 'xmlUserApi.php';
var request = $.ajax({
url: requestPath,
type: 'POST',
dataType: 'jsonp',
data: { request: xmlData }
});
request.done(function(data) {
/process data
});
request.fail(function(jqXHR, textStatus) {
alert(textStatus);
});
//将原始答案留在这里
“例如,您可以通过jQuery向名为”request“的xmlUserApi.php发送POST请求。”
不确定“命名”请求“是什么意思”,但是使用jQuery你会这样做:
var serverPath: 'http://their.server.tld/path/';
var authToken: 'sometoken';
$.post(serverPath + 'xmlUserApi.php', { action: 'getServerList', auth: authToken },
function(data) {
//whatever you want to do with the return goes here
}
);
与API的连接可能存在问题,有时会传递其他参数有助于此,您可以尝试:
var serverPath = 'http://their.server.tld/path/';
var requestPath = serverPath + 'xmlUserApi.php';
var authToken = 'sometoken';
$.ajax({
url: requestPath,
type: 'POST',
dataType: 'jsonp',
data: { action: 'getServerList', auth: authToken }
}).done(function(data) {
//processing here
}).fail(function(jqXHR, textStatus) {
alert(textStatus);
});