0

我正在尝试在 Ajax 请求中传递时区参数

 alert(meeting_time);
        alert(meeting_timezone);
    $.ajax({ 
        type: "GET",  
        url: "http://webfaction/UI/user/joinmeeting.php",  
        data: "user_names="+ user_names + "&image=" +file+"&duration="+ duration +"&user_name="+ user_name + "&meeting_id=" + meeting_id + "&moderator_password=" + moderator_password +"&attendee_password=" + attendee_password +
        "&meeting_time=" + meeting_time + "&meeting_timezone=" + meeting_timezone + "&meeting_sms_no=" + meeting_sms_no + "&meeting_logout_url=" + meeting_logout_url +"&meeting_maxp=" + meeting_maxp +"&meeting_name=" + meeting_name ,
        success: function(json){  
               alert(json);
              $('#show_ajax').hide();
            if(!json.error) location.reload(true);

        },

现在我的问题是在ajax请求之前

alert(meeting_timezone);  is printing  `GMT +8.00`

但在 joinmeeting.php 页面上

   $meeting_timezone = $_GET['meeting_timezone'];   

   print $meeting_timezone;

上面的打印语句正在打印值GMT 8.00

(+ 符号未在此处打印)

请告诉我如何解决这个问题?

4

3 回答 3

0

这是使用 POST 和 GET 方法时的已知情况,您的 + 符号将转换为空格。通过 POST 或 GET 传递数据的正确方法是encodeURIComponent在 JavaScript 中使用。

例如,在您的情况下,请在发送之前执行此操作:

meeting_timezone = encodeURIComponent(meeting_timezone);
于 2012-09-15T06:37:19.230 回答
0

如果你在 JavaScript 中编码你的 URL

encodeURIComponent(uri)

像这样:

data: encodeURIComponent(("user_names="+ user_names + "&image=" +file+"&duration="+ duration +"&user_name="+ user_name + "&meeting_id=" + meeting_id + "&moderator_password=" + moderator_password +"&attendee_password=" + attendee_password +
        "&meeting_time=" + meeting_time + "&meeting_timezone=" + meeting_timezone + "&meeting_sms_no=" + meeting_sms_no + "&meeting_logout_url=" + meeting_logout_url +"&meeting_maxp=" + meeting_maxp +"&meeting_name=" + meeting_name )

也看看这个问题:

如何在 Javascript 中对 URL 进行编码?

可能有用

于 2012-09-15T06:40:47.117 回答
0

不要将data:参数指定为字符串,而是使用对象:

data: { user_names: user_names,
        image: file,
        ...
        meeting_timezone: meeting_timezone,
        ...
      }

然后,jQuery 将负责将其正确转换为查询字符串。

于 2012-09-15T06:55:41.000 回答