JSON不会将数据发布到请求的URL

时间:2013-04-18 08:30:04

标签: javascript json

尝试在网址上发布一些数据:“

    $(function() {
             var frm = $(document.myform);
             var data = "?lm_po_id=154668&authentication=ThisisAuth&description=ThisIsDesc";//JSON.stringify(frm.serializeArray());

//var data = JSON.stringify(frm.serializeArray()); // Also tried this

         alert(data + "I am about to POST this:\n\n" + data);
         $.postJSON = function (url, data, callback) {
                $.ajax({
                    'url': frm.attr("action"),
                    'type': 'post',
                    'processData': false,
                    'data': JSON.stringify(data),
                    contentType: 'application/json',
                    success: function (data) { callback(JSON.parse(data)); },
                });
            };
     });

这正确地调用了正确的函数,但是当我在调试模式下检查它时,所有参数都有空值,有人可以帮助我做错了什么。 这是我的HTML表单

<form action="http://192.168.0.124:8080/Ilex-WS/service/ilexmobile/poImageUpload" name="myform" method="post" enctype="multipart/form-data">
    <input type="text" value="158664" name="lm_po_id" /><br />
    <input type="text" value="AuthCodeMD5" name="authentication" /><br />
    <input type="text" value="584" name="imagenumber" /><br />
    <input type="text" value="ImgName.png" name="name" /><br />
    <input type="text" value="This is desc" name="description" /><br />
    <input type="file" value=""  name="uploadedimage" /><br /> 
    <input type="button" value="Submit" onclick="javascript:document.myform.submit()"/><br />
</form>

提前致谢....

1 个答案:

答案 0 :(得分:3)

您的JavaScript唯一能做的就是提醒字符串。

您永远不会将事件处理程序绑定到表单的提交方法,即使您这样做也不会触发,因为您使用form.submit()提交表单而不是提交按钮。 (因此,这提交了编码数据而不是JSON编码数据)。

你将一个函数存储在$.postJSON中,但你永远不会调用它,并且它有一个名为data的局部变量,无论如何都会掩盖var data = "?lm_po...(并不是说它有意义使用该值,因为它是一个字符串,您在JSON.stringify上运行data