2014-03-03 38 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

你爲什麼認爲,這是一個錯誤? –