2012-02-10 11 views
0

このjqueryコードをプレーンJavaScript(jquery依存関係の削除)に変換するにはどうすればよいですか?

<head>のapp.html

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 

<script type="text/javascript"> 
    var textToSend = "blah blah"; 
    var moreText = "yada yada yada"; 
    $.post("process.php", { text1: textToSend, text2: moreText}, 
     function(data) { 
     alert("Process.php script replies : " + data); 
     } 
    ); 
</script> 

内部process.phpは、サーバー上の同じフォルダ内にあります。

<?php 
    print "<p>You said " . $_POST['text1'] . "</p>"; 
    print "<p>Then you added " . $_POST['text2'] . "</p>"; 
?> 

私の初心者のあいまいさを許します。 ありがとうございます。

+0

ありますか? – rkw

答えて

2

これを試してください。

<script type="text/javascript"> 
function doPost() 
{ 
    var textToSend = "blah blah"; 
    var moreText = "yada yada yada"; 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
    else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    alert("Process.php script replies : " + xmlhttp.responseText); 

  } 
    } 
xmlhttp.open("POST","process.php",true); 
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
xmlhttp.send("text1=" + encodeURIComponent(textToSend) + "&text2=" + encodeURIComponent(moreText)); 
} 
</script> 

編集:パラメータをエンコードする機能が追加されました:encodeURIComponent()代わりの$ .postの

+3

'textToSend'と' moreText'をURLエンコードする必要があります。あるいは、いずれかにアンパサンドが含まれていると壊れます。 – icktoofay

+0

@icktoofay確かに。通知をありがとう。 –

+0

お返事ありがとうございます。 – mukama

3

XHRを直接使用してください。 jQueryと他のAJAXライブラリは、finding an appropriate objectというタスクを要約してリクエストを実行します。

2

、次の操作を行います。あなたはjQueryのを使用していない理由は

var http = new XMLHttpRequest(); 
var params = "textToSend=" + encodeURIComponent(textToSend) + "&moreText=" + encodeURIComponent(moreText); 
http.open("POST", "process.php", true); 
http.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
http.onreadystatechange = function() { alert("Process.php script replies : " + http.responseText); }; 
http.send(params); 
+2

XMLHttpRequestオブジェクトは、すべてのブラウザで使用できるわけではありません。 –

+0

開発者は古いIEブラウザをサポートしていないようになってきています。プラサドの答えが必要な場合は、より良いです。私が働いているほとんどのウェブサイトは、Internet Explorer 6またはそれ以下でヒットした場合、ブラウザのメッセージをアップグレードしてください。 – Rophuine

+0

ありがとうございます。完璧に働いた。 – mukama

関連する問題