2016-10-16 19 views
0

2番目の目を借りて、私のAjaxリクエストフォーマットの問題を確認してください。私はこのように、オブジェクトとしての私のパラメータを渡さ

まず:

$.getJSON('selectOne', {'modelClass': 'Address', 'id': '3'}, function(json, textStatus) { 
    $('span#address_line').append(json); 
}); 

代わりのバックエンドに送信された値'Address'、キー'modelClass'は私のサーバーが取得するものを実際にしました。 '3'の代わりに'id'の場合も同じです。

は、その後、私はこのように、配列にパラメータ部分を変更:

$.getJSON('selectOne', ['Address', '3'], function(json, textStatus) { 
     $('span#address_line').append(json); 
    }); 

そして今、両方のパラメータがundefinedとして送信されます。

これは決してうまくいかない。ここで何が間違っていますか?

私のバックエンドサーバーは、cherrypyというPythonフレームワークです。

編集:ここで私は、サーバーが最初のシナリオのために文句を言う何を貼り付けます。webKnjaZさんのコメントについて

500 Internal Server Error 

    The server encountered an unexpected condition which prevented it from fulfilling the request. 

    Traceback (most recent call last): 
     File "/usr/local/lib/python3.4/dist-packages/cherrypy/_cprequest.py", line 670, in respond 
... ... 
     File "/home/njh/gui_Base.py", line 30, in selectOne 
     data_record = db.query(modelClass).filter(modelClass.id == id).one() 
    AttributeError: 'str' object has no attribute 'id' 
+0

あなたの最初の例では、オブジェクト '{'を開きますが、配列 ']'を閉じます。これはあなたの質問やあなたの本当のコードの誤字ですか? – Turnip

+0

最初の構文エラーは、片方のオブジェクトであり、もう一方の端の配列なので構文エラーのように見えますか?これをサーバー上でどのように捕捉しているかを示す必要があります。 – adeneo

+0

@Turnip、注意してくれてありがとう、それはタイプミスでした。私はそれを修正しました。 –

答えて

0

おかげで、JSON.stringifyを使用すると、このようなグリッチへの正しい解決策です。

関連する問題