Как мне передать переменную в функции xmlhttp.send

#ajax

#ajax

Вопрос:

Как мне передать переменную в функции xmlhttp.send

 var str = "hello"
xmlhttp.open("POST","./omnama.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname= str"); ' it fills the database with str but not with hello
  

Я пробовал, они не работают

  xmlhttp.send("fname="  str,"lname="  cool); 
  

он заполняет fname значением переменной, но не lname, lname выдает пустую строку как мне объединить, если у меня много переменных для передачи?

Комментарии:

1. xmlhttp.send(«fname=» str);

2. @kukipei его рабочий пост в качестве ответа, который я бы принял!

Ответ №1:

 xmlhttp.send("fname="   str); it should work

xmlhttp.send("fname="  str   "amp;lname="  cool);
  

Комментарии:

1. Я пробовал этот способ, но не работает, пожалуйста, помогите с этим xmlhttp.send («fname=» str,»lname=» cool);

2. вау, это работает, но, черт возьми, синтаксис слишком сложный для понимания, не могли бы вы объяснить с комментариями, пожалуйста!

3. Это не так сложно. Как сказал Квентин, это должна быть строка. Может быть, это легче понять: var somestr = «fname=» str «amp;lname=» cool; xmlhttp.send(somestr);

4. Я думаю, что фундаментальное недоразумение заключается в том, что xmlhttp.send содержит не более одного аргумента. Если вы хотите отправить два параметра, вам придется вручную создать одну строку, представляющую их оба. Обратите внимание, что требуемый формат зависит от реализации на стороне сервера, но обычно var1=val1amp;var2=val2 является хорошим.

Ответ №2:

Это просто строка. Обрабатывайте ее как любую другую строку.

 foo("some string"   another_string_stored_in_a_variable);