6

HTTP リクエストを使用して JSON データを投稿したい。私は公式ドキュメントを読み、それらに従って作業しています。次のコードを使用しています。

var xhrpost = Ti.Network.createHTTPClient();

    xhrpost.onload = function(){
        activityIndicator.hide();
        alert('Posted successfully');
        alert(JSON.stringify(this.responseText));
    }

    var posturl = 'http://qudova.com/api.php';

    xhrpost.open('POST', posturl);
    xhrpost.setRequestHeader("Content-Type", "application/json");
    xhrpost.setRequestHeader('charset','utf-8');
        var params = {
        ProjectID : picked_prj, 
        RoleID : picked_rol,
        FirstName: first.value,
        LastName: last.value,  
        Phone: phone.value,
        Email: email.value,
        City: city.value,
        State: stat_drp.getSelectedRow(0).title,
        Zip: zip.value,
        Notes: notes.value,
    };
    xhrpost.send(params);

これが JSON データを投稿する正しい方法である場合。データが投稿されたことを確認するにはどうすればよいですか?? URLには投稿されたデータが含まれますか??

onload イベントに追加した次のアラートで null を取得しています。

alert(JSON.stringify(this.responseText));

私は Windows 7 に取り組んでおり、Android 4.2.2 でテストしています .... よろしくお願いします。

4

3 に答える 3

1

JSON.stringify() を使用するだけです

JSON.stringify({ ProjectID : picked_prj, RoleID : picked_rol, FirstName: first.value, LastName: last.value,
Phone: phone.value, Email: email.value, City: city.value, State: stat_drp.getSelectedRow(0).title, Zip: zip.value, Notes: notes.value, })

更新されたドキュメントを参照してください。

于 2014-06-18T13:10:50.353 に答える
0

JSON.parse を使用する

var params =JSON.parse({
        ProjectID : picked_prj, 
        RoleID : picked_rol,
        FirstName: first.value,
        LastName: last.value,  
        Phone: phone.value,
        Email: email.value,
        City: city.value,
        State: stat_drp.getSelectedRow(0).title,
        Zip: zip.value,
        Notes: notes.value,
    })

送信してください。それはうまくいくかもしれません...

于 2013-03-27T10:25:43.613 に答える