.aspx
内部にいくつかの webmethods を含むファイルがあります。iOS (iPhone) アプリケーション内からこれらのメソッドを使用したいと考えています。webmethod コードは次のとおりです。
[WebMethod]
public static string Login(string username, string password)
{
return username + ":" + password;
}
私が使用したこのWebメソッドをテストするには:
$.ajax({
type: "POST",
url: "DataProvider.aspx/Login",
data: JSON.stringify({ username: "myUserName", password: "myPassword" }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) { alert(result.d); },
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
すべてがチェックアウトされて"myUserName:myPassword"
戻ってきたので、xcode 4.5.2 内から同じことをしたいので、新しい iPhone アプリを作成し、label
(lbResult) とbutton
(btDoLogin) を ViewController 内に配置し、アウトレットとアクションを割り当てました。 .
非同期やデリゲートには興味がないことに注意してください。データを元に戻し、それを解析できるようにしたいだけです(JSON)。
詳細について非常に具体的で申し訳ありませんが、同様の質問をたくさん見ましたが、どれもうまくいきませんでした。私が読んだことについては、これは NSURLConnection を使用して解決できることを理解しています。たとえば、Objective C で JSON Web サービスにパラメーターを渡すという質問は、私が必要としているものと非常に似ていますが、返されるのはページ全体です! (つまり、Web メソッドを呼び出すのではなく、ページ全体をダウンロードすることを意味します) また、2 つのパラメーターを渡す必要があり、質問は 1 つしか使用しません (連結された文字列でそれらを分離する方法がわかりません)。
では、この特定の Web メソッドに接続して戻り値を取得するには、IBAction 内で正確に何を行う必要があるのでしょうか。
- (IBAction)btDoLogin:(id)sender {
// magic code goes here!
}
ありがとう。-