javascript пустой текст ajax - PullRequest
       6

javascript пустой текст ajax

0 голосов
/ 04 ноября 2008

У меня есть скрипт php, и я использую ajax с ним. У меня есть форма textarea, связанная с классом ajax

Проблема, когда я передаю текст типа (&some text), функция возвращает пустой текст, я думаю, что у меня проблема с (&).

Функция JavaScript:

function sendFormData(idForm, dataSource, divID, ifLoading)
{
  var postData='';
  var strReplaceTemp;

  if(XMLHttpRequestObject)
  {
    XMLHttpRequestObject.open("POST", dataSource);
    XMLHttpRequestObject.setRequestHeader("Method", "POST " + dataSource + " HTTP/1.1");
      XMLHttpRequestObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    XMLHttpRequestObject.onreadystatechange = function()
    {
      if (XMLHttpRequestObject.readyState == 4 &&
          XMLHttpRequestObject.status == 200)
      {
        try
        {
          var objDiv = document.getElementById(divID);
          objDiv.innerHTML = XMLHttpRequestObject.responseText;
        }
        catch(e){document.write("sendFormData: getElementById(divID) Error");}
      }
      else
      {
        if(ifLoading)
        {
          try
          {
            var objDiv = document.getElementById(divID);
            objDiv.innerHTML = "<img src=loading.gif>";
          }
          catch(e){document.write("sendFormData->ifLoading: getElementById(divID) Error");}
        }
      }
    }

    for(i=0; i<document.getElementById(idForm).elements.length - 1; i++)
    {
      strReplaceTemp = document.getElementById(idForm).elements[i].name;
      postData += "&aryFormData["+strReplaceTemp+"][]="+document.getElementById(idForm).elements[i].value;
    }

    postData += "&parm="+new Date().getTime();
    try
    {
      XMLHttpRequestObject.send(postData);
    }
    catch(e){document.write("sendFormData: XMLHttpRequestObject.send Error");}
  }
}

Ответы [ 3 ]

1 голос
/ 04 ноября 2008

Убедитесь, что ваш & кодируется с & amp; если вы передаете его с помощью Javascript. Все & должны быть закодированы, или некоторые браузеры могут немного волноваться, и любой валидатор будет жаловаться на вас.

0 голосов
/ 04 ноября 2008

В вашей функции, если вы оберните document.getElementById (idForm) .elements [i] .value и даже strReplaceTemp (в вашей записи postData + =) с "encodeURI ()", у вас не возникнет никаких проблем данные принимаются правильно.

0 голосов
/ 04 ноября 2008

когда я вижу HTML и & и проблему, я смотрю, чтобы убедиться, что моя кодировка символов задана правильно.

также, код в вашем PHP-скрипте может задыхаться от символа «/» (не экранированный).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...