2014-03-03 39 views
1

我有一些问题要了解如何使用myKeyVals用户名来保存新用户:“bruno”,密码:“登录”到API。 我试图使用代码波纹管,它显示警告“保存Compplete”,但我在哪里保存了用户名:“bruno”,密码:“登录”? 我该如何做一个API的jQuery发布请求,URL:http://192.168.8.143/api/v11/login/?username=ith&password=ithith(我可以打开文件的url本地)? 有人能给我一个提示吗?如何对API执行jquery http post请求?

var myKeyVals = { username : "bruno", password : "login"} 

var saveData = $.ajax({ 

    type: 'POST', 
    url: "http://192.168.8.143/api/v11/login/?username=ith&password=ithith", 
    data: myKeyVals.toString(), 
    dataType: "text", 
    success: function(resultData) { alert("Save Complete") } 
}); 
saveData.error(function() { alert("Something went wrong"); }); 
+0

你已经在对这个URL做邮寄请求了。 http://192.168.8.143/api/v11/login/现在它调用哪个webservice,你可以通过解析成功回调函数的resultData参数来检查输出结果是什么 – mitpatoliya

+0

@mitpatoliya嗨,好的,我明白...但是我该怎么做才能看到数据已发布?应该怎么做回调? –

回答

0

你应该对象myKeyVals不能转换为字符串。

所以,你的代码应该是这样的:

var myKeyVals = { 
    username : 'bruno', 
    password : 'login' 
}; 

var jqxhr = $.ajax({ 
    type: 'POST', 
    url: 'http://192.168.8.143/api/v11/login/?username=ith&password=ithith', 
    data: myKeyVals, 
    dataType: 'json' 
}); 


jqxhr.done(function(data, textStatus, jqXHR) { 
    console.log('Succeed:', data); 
}); 

jqxhr.fail(function(jqXHR, textStatus, errorThrown) { 
    console.log('Failed:', errorThrown); 
}); 

更新(服务器端):

从服务器端,你应该用有效的JSON字符串回答。 正如你在评论表示您使用PHP的服务器上,以便例子可能看起来像:

<?php 
$response = array("success" => true,); 
header('Content-Type: application/json'); 
echo json_encode($response); 
+0

嗨,很好的代码...但是我得到这个警告和错误:
解析错误:语法错误,在/var/www/html/api/v11/Json.php(34)出现意外的'=':的eval()'上线d代码

警告:在为的foreach()供给/var/www/html/api/v11/Json.php上线无效参数

警告:Inval id参数为foreach()提供/var/www/html/api/v11/index.php on line

+0

所以,也许你应该使用一些['json_decode'](http://ua2.php .net/json_decode)在处理来自请求的数据之前在你的PHP端? –

+0

好吧,我要读取关于json_decode并尝试使用它... –

0

嗯,我可能是错的,但似乎你传递的用户名和密码两次:一次在数据和另一在URL中通过GET“?username = ith & password = ithith”? 试试这个:

var myKeyVals = { username : "bruno", password : "login"}; 

var saveData = $.ajax({ 

    type: 'POST', 
    url: "http://192.168.8.143/api/v11/login/", 
    data: myKeyVals, 
    success: function(resultData) { alert("Save Complete") } 
}); 
saveData.error(function() { alert("Something went wrong"); }); 
+0

Hi ,我仍然得到错误和警告。 –

+0

然后在api中必须有一个错误。 – Wilmer

+0

你为什么认为,这是一个错误? –