0

外部のpost関数からPlayに返されたデータにアクセスしようとしています!ローカルで実行されているプロジェクト。投稿はローカルでも実行されますが、xampp(Playではありません!)から成功し(サーバー側で表示)、crudが実行され、データが返されます。OperaのDragonFlyの[ネットワーク]タブで、応答の下に返されたデータを確認できますが、アクセスできないようです。jQueryはにさえ入りませんfunction(data){...}

私が使用した2つの方法は次のとおりです。

$(document).ready(function(){
    $('#createTask').click(function(){

        alert('In click function');
        var $title = prompt('Task title');
        var $url = 'http://localhost:9000/application/createtask'

        $.post($url,{title:$title}, function(data){
            alert('In return function');
            //alert(data.title);
            //alert(JSON.stringify(data));
        }, 'application/json'); 

        $.ajax({
            type: "POST",
            url: $url,
            data: {title:$title},
            dataType: "application/json",
            success: function(data){
                alert("Success: " + JSON.stringify(data));
            },
            done: function(data){
                alert("Done: " + JSON.stringify(data));
            },
            error: function (data){
                alert("Error: " + JSON.stringify(data));
            }
        });
    });
})

返されたデータにアクセスするにはどうすればよいですか?私は何が間違っているのですか?

ありがとう!

4

1 に答える 1

2
  1. からに単純に変更dataTypeします。$.ajax({...})"application/json""json"
  2. "json"として使用すると、jQuery は自動的に JSON データを JavaScript オブジェクトに変換dataTypeconsole.log(data)ますalert("Success: " + JSON.stringify(data))
  3. パラメータの一部が正しくありません。
  4. $変数名にが含まれているのはなぜですか?

したがって、コードを以下のコードに変更してみてください。

$(document).ready(function () {
    $('#createTask').click(function () {
        console.log('In the "click" handler for "#createTask".');

        var task_title  = prompt('Task title', '');
        console.log('Your task will be given the title: "' + task_title + '".');

        var ajax_url    = 'http://localhost:9000/application/createtask';

        $.ajax({
            'complete': function (jqXHR, status) {
                console.log('Complete!');
                console.log(status);
            },
            'data': {
                'title': task_title
            },
            'dataType': 'json',
            'error': function (jqXHR, status, error) {
                console.log('Error!');
                console.log(status);
                console.log(error);
            },
            'success': function (data, status, jqXHR) {
                console.log('Success!');
                console.log(status);
                console.log(data);
            },
            'type': 'POST',
            'url': ajax_url
        });
    });
});
于 2012-09-10T18:54:55.950 に答える