0

Web サイトを div ( ) にロードしようとしていますdiv.content

この Web サイトには、POST によるログインが必要です。

認証が成功したため、javascript はサイトの読み込みを試み、ログイン フォームへのリダイレクトを検出し、ユーザー名とパスワードを POST して、最後に URL をリロードします。

問題は、URL が正しく構築されていないことです。URL は次のようになります。

https://mysite.com/WebUntis/index.do?school=schoolname#Timetable?
onlyTimetable=true&ajaxCommand=renderTimetable&date=20130418&type=1&id=17
&formatId=2&departmentId=-1&buildingId=-1

しかし、jquery は次のようにビルドします。

https://mysite.com/WebUntis/index.do?
onlyTimetable=true&ajaxCommand=renderTimetable&date=20130418&type=1&id=17
&formatId=2&departmentId=-1&buildingId=-1.

ここで誰か助けてくれませんか?多くの例を見て構文を確認しましたが、修正が見つかりません。

function openUrl()
{
  jQuery.ajax({
   url: 'https://mysite.com/WebUntis/index.do?school=schoolname#Timetable?',
   type:'GET',
   dataType: 'html',
   data: {
      //school: 'schoolname',
      ajaxCommand: 'renderTimetable',
      onlyTimetable: 'true',
      date: '20130418',
      type: '1',
      id: '17',
      formatId: '2',
      departmentId: '-1',
      buildingId: '-1'
   },
   success: function(result) {
      var html = jQuery('<div>').html(result);
      if(html.find("form").attr("id") == "login")//login form found
      {
          alert("Trying to login...");
          login(); //This just POSTs a username and password
      };
      $('div.content').html(result);
    },
  });
} 
4

1 に答える 1

0

パラメータをエンコードしてみてくださいschool

function openUrl()
{
    jQuery.ajax({
        url: 'https://mysite.com/WebUntis/index.do',
        type:'GET',
        dataType: 'html',
        data: {
            school: encodeURIComponent('schoolname#Timetable?'),
            ajaxCommand: 'renderTimetable',
            onlyTimetable: 'true',
            date: '20130418',
            type: '1',
            id: '17',
            formatId: '2',
            departmentId: '-1',
            buildingId: '-1'
        },
        success: function(result) {
            var html = jQuery('<div>').html(result);
            if(html.find("form").attr("id") == "login")//login form found
            {
                alert("Trying to login...");
                login(); //This just POSTs a username and password
            };
            $('div.content').html(result);
        },
    });
} 
于 2013-04-27T13:25:16.723 に答える