Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Ajax不发布任何数据_Jquery_Ajax_Post - Fatal编程技术网

jQuery Ajax不发布任何数据

jQuery Ajax不发布任何数据,jquery,ajax,post,Jquery,Ajax,Post,我正在portlet中使用KendoUIDatePicker。这是我的jQuery ajax代码: kendoWindow.find(".btnConfirm,.btnCancel").click(function(e) { if (jQuery(this).hasClass("btnConfirm")) { var strStartDate; var strEndDa

我正在portlet中使用KendoUIDatePicker。这是我的jQuery ajax代码:

kendoWindow.find(".btnConfirm,.btnCancel").click(function(e)
        {
            if (jQuery(this).hasClass("btnConfirm"))
            {
                var strStartDate;
                var strEndDate;

                jQuery.ajax(
                {
                    url : window.urlGenerateWorkbook,
                    data :
                    {
                        strStartDate : jQuery("#startDate").data("kendoDatePicker").value(),
                        strEndDate : jQuery("#endDate").data("kendoDatePicker").value()
                    },
                    dataType : "json",
                    cache : false,
                    async : true,
                    type : "POST",
                    timeout : 0,
                    success : function(jsonResponse)
                    {
                        if (jsonResponse.hasOwnProperty('ERROR'))
                        {
                            alertError(jsonResponse['ERROR']);
                        }
                        else
                        {
                            jQuery('.pnlJournalEntry #tdEntries > div').empty();
                            setJournalEntries(strPortletID);
                        }
                    },
                    error : function(jsonResponse)
                    {

                        alertError("There was no response from the server.");

                    }
                });
            }

            kendoWindow.data("kendoWindow").close();
        }).end();
我正在使用剑道窗口打开portlet中的另一个窗口,该窗口将询问日期范围。然后它获取这些日期并通过ajax发送。当我提醒strStartDate和StrengdDate时,我会得到值。但是在Java方面,我得到了NullPointerException。当我在Firebug中检查POST方法时,我没有得到任何发布

有人能帮我弄清楚吗?谢谢

编辑:我想我找到了问题所在。Ajax中的所有内容都需要作为字符串发送。剑道UI日期选择器,当我将strStartDate和StrengdDate设置为value()时,它返回了一个日期。由于Ajax无法发送日期,我不得不这样做:

data :
{
    strStartDate : jQuery('#startDate').data("kendoDatePicker").value().toString(),
    strEndDate : jQuery('#endDate').data("kendoDatePicker").value().toString()
},
这将向Java ViewController发送以下内容:

2013年3月1日星期五00:00:00 GMT-0500(东部标准时间) 2013年3月12日星期二00:00:00 GMT-0400(东部夏时制)


我仍然得到NullPointerException,但我认为它现在在Java方面,所以我至少现在得到了一些数据。谢谢大家的建议。

在您的ajax通话中,请尝试以下内容:

var payload = {
    strStartDate : jQuery("#startDate").data("kendoDatePicker").value(),
    strEndDate : jQuery("#endDate").data("kendoDatePicker").value()
};
然后您的ajax声明应该更改为:

data: JSON.stringify(payload),

尝试添加contentType

contentType: "application/json; charset=utf-8",

仍然返回NullPointerException。请尝试使用
“strStartDate”:jQuery(“#startDate”).data(“kendoDatePicker”).value(),“StrengdDate”:jQuery(#endDate”).data(“kendoDatePicker”).value()
当我在Firebug中看到它时,实际上是在发布一些东西,但我仍然收到NullPointerException。