dojo 是非常强大的前端开发平台,对标签、JS 都有着完善的操作机制,一下举例 dojo 向服务器 post 的实例: 1、数据来自 from 的 dojo post 操作 function sendForm(){ var form = dojo.byId("myform"); doj
dojo 是非常强大的前端开发平台,对标签、JS 都有着完善的操作机制,一下举例 dojo 向服务器 post 的实例:
1、数据来自 from 的 dojo post 操作
function sendForm(){ var form = dojo.byId("myform"); dojo.connect(form, "onsubmit", function(event){ // Stop the submit event since we want to control form submission. dojo.stopEvent(event); // The parameters to pass to xhrPost, the form, how to handle it, and the callbacks. // Note that there isn't a url passed. xhrPost will extract the url to call from the form's //'action' attribute. You could also leave off the action attribute and set the url of the xhrPost object // either should work. var xhrArgs = { form: dojo.byId("myform"), handleAs: "text", load: function(data){ dojo.byId("response").innerHTML = "Form posted."; }, error: function(error){ // We'll 404 in the demo, but that's okay. We don't have a 'postIt' service on the // docs server. dojo.byId("response").innerHTML = "Form posted."; } } // Call the asynchronous xhrPost dojo.byId("response").innerHTML = "Form being sent..." var deferred = dojo.xhrPost(xhrArgs); }); } dojo.ready(sendForm);
2、数据直接在 js 内构建的 dojo post 操作
function sendText(){ var button = dijit.byId("submitButton2"); dojo.connect(button, "onClick", function(event){ // The parameters to pass to xhrPost, the message, and the url to send it to // Also, how to handle the return and callbacks. var xhrArgs = { url: "postIt", postData: "Some random text", handleAs: "text", load: function(data){ dojo.byId("response2").innerHTML = "Message posted."; }, error: function(error){ // We'll 404 in the demo, but that's okay. We don't have a 'postIt' service on the // docs server. dojo.byId("response2").innerHTML = "Message posted."; } } dojo.byId("response2").innerHTML = "Message being sent..." // Call the asynchronous xhrPost var deferred = dojo.xhrPost(xhrArgs); }); } dojo.ready(sendText);
3、数据以 json 方式提交的 dojo post 操作
function sendText(){ var button = dijit.byId("submitButton2"); dojo.connect(button, "onClick", function(event){ // The parameters to pass to xhrPost, the message, and the url to send it to // Also, how to handle the return and callbacks. var xhrArgs = { url: "{{baseUrl}}dojo/dojo.js", postData: dojo.toJson({key1:"value1",key2:{key3:"value2"}}), handleAs: "text", load: function(data){ dojo.byId("response2").innerHTML = "Message posted."; }, error: function(error){ // We'll 404 in the demo, but that's okay. We don't have a 'postIt' service on the // docs server. dojo.byId("response2").innerHTML = "Message posted."; } } dojo.byId("response2").innerHTML = "Message being sent..." // Call the asynchronous xhrPost var deferred = dojo.xhrPost(xhrArgs); }); } dojo.ready(sendText);
以上参考来自 http://dojotoolkit.org/reference-guide/1.10/dojo/xhrPost.html