这里是我们的赖斯3.2应用程序的js代码响应更改其IDS开始 'order_order_items_attributes' 字段:
$(function(){
$(document).on('change', "[id^='order_order_items_attributes'][id$='_name']", function(){
$.post(window.location, $('form').serialize(), null, "script");
return false;
});
});
的$。后()导致错误:
"NetworkError: 404 Not Found - http://localhost:3000/po/orders/new?parent_record_id=4&parent_resource=ext_construction_projectx%2Fprojects&project_id=4%22"
这里是window.location
:
如果我们更换$。员额()与$获得(),那么鳕鱼Ë正常工作,并触发了服务器上的Ajax响应:
$.get(window.location, $('form').serialize(), null, "script"); #works!
但是,我们必须使用$。员额(),因为大量的数据被发送到服务器。 jquery文档显示$ .get()和$ .post()具有完全相同的格式。我们在$ .post()中错过了什么?谢谢。
UPDATE:耙路输出:
Routes for PurchaseOrderx::Engine:
search_order_items GET /order_items/search(.:format) purchase_orderx/order_items#search
search_results_order_items GET /order_items/search_results(.:format) purchase_orderx/order_items#search_results
stats_order_items GET /order_items/stats(.:format) purchase_orderx/order_items#stats
stats_results_order_items GET /order_items/stats_results(.:format) purchase_orderx/order_items#stats_results
order_items GET /order_items(.:format) purchase_orderx/order_items#index
POST /order_items(.:format) purchase_orderx/order_items#create
new_order_item GET /order_items/new(.:format) purchase_orderx/order_items#new
edit_order_item GET /order_items/:id/edit(.:format) purchase_orderx/order_items#edit
order_item GET /order_items/:id(.:format) purchase_orderx/order_items#show
PUT /order_items/:id(.:format) purchase_orderx/order_items#update
DELETE /order_items/:id(.:format) purchase_orderx/order_items#destroy
search_orders GET /orders/search(.:format) purchase_orderx/orders#search
search_results_orders GET /orders/search_results(.:format) purchase_orderx/orders#search_results
stats_orders GET /orders/stats(.:format) purchase_orderx/orders#stats
stats_results_orders GET /orders/stats_results(.:format) purchase_orderx/orders#stats_results
event_action_order GET /orders/:id/event_action(.:format) purchase_orderx/orders#event_action
acct_approve_order PUT /orders/:id/acct_approve(.:format) purchase_orderx/orders#acct_approve
acct_reject_order PUT /orders/:id/acct_reject(.:format) purchase_orderx/orders#acct_reject
gm_approve_order PUT /orders/:id/gm_approve(.:format) purchase_orderx/orders#gm_approve
gm_reject_order PUT /orders/:id/gm_reject(.:format) purchase_orderx/orders#gm_reject
gm_rewind_order PUT /orders/:id/gm_rewind(.:format) purchase_orderx/orders#gm_rewind
submit_order PUT /orders/:id/submit(.:format) purchase_orderx/orders#submit
list_open_process_orders GET /orders/list_open_process(.:format) purchase_orderx/orders#list_open_process
orders GET /orders(.:format) purchase_orderx/orders#index
POST /orders(.:format) purchase_orderx/orders#create
new_order GET /orders/new(.:format) purchase_orderx/orders#new
edit_order GET /orders/:id/edit(.:format) purchase_orderx/orders#edit
order GET /orders/:id(.:format) purchase_orderx/orders#show
PUT /orders/:id(.:format) purchase_orderx/orders#update
DELETE /orders/:id(.:format) purchase_orderx/orders#destroy
root / purchase_orderx/orders#index
这里是输出耙路线采购订单引擎。大多数路线与问题无关,仍按原样列出。
这里的routes.rb:
resources :order_items do
collection do
get :search
get :search_results
get :stats
get :stats_results
end
end
resources :orders do
collection do
get :search
get :search_results
get :stats
get :stats_results
end
end
工作流相关行动在routes.rb中,便于读取被拆除。
你尝试发布来创建吗?像 - http:// localhost:3000/po/orders /创建?parent_record_id = 4&parent_resource = ext_construction_projectx%2Fprojects&project_id = 4%22“ – 2015-02-12 20:53:04
您可能没有在routes.rb中指定路径为POST。我们的routes.rb看起来像? – 2015-02-12 20:54:43
这篇文章将发送表单上的用户输入到服务器ajax。服务器接受用户输入并从数据库中检索并在某些字段中插入表单。由于用户可以动态地向表单添加更多字段,因此回发到服务器的数据可能非常大。这就是为什么我们要使用$ .post而不是$ .get。 – user938363 2015-02-13 03:34:27