私はルビーからajaxレストコールを作成しており、Pythonに行ってレストコールプロセスを実行しています。rest を呼び出してパラメーターを json 形式で渡そうとすると、これが json データとして渡されない可能性があると思います。私のajax呼び出しは次のとおりです。
get '/cnet' do
temp="mynet"
url = URI.parse('http://192.168.1.9:8080/v2.0/networks')
params = {'net_name'=>temp}.to_json
resp = Net::HTTP.post_form(url, params)
resp_text = resp.body
puts resp_text
erb resp_text
end
Python コードは次のとおりです。
@app.route('/v2.0/networks',methods=['POST'])
def net_create():
net_res=request.json
print "======================="
print net_res['net_name']
print "======================="
net_name=net_res['net_name']
Python から json データを読み取ろうとすると、次のエラーが発生します。
File "/network-ui/neutron_plugin.py", line 226, in net_create
net_name=net_res['net_name']
TypeError: 'NoneType' object has no attribute '__getitem__'
正確に何が起こっているのかわかりません。
私は ajax ポスト コールのリンクをたどっています: http://rest.elkstein.org/2008/02/using-rest-in-ruby.html http://developer.yahoo.com/ruby/ruby-rest.html
どんな助けでも大歓迎です。ありがとう