4

クライアント側からサーバーに名前とリンクを送信する必要があります。これを行うには、Javascript によって呼び出される AJAX を使用することを考えました。

これが私の言いたいことです。パラメータ付きの abc.php というファイルに ajax リクエストを送信したいと考えていました:-

1. http://thumbs2.ebaystatic.com/m/m7dFgOtLUUUSpktHRspjhXw/140.jpg

2. Apple iPod touch, 3rd generation, 32GB

まずはURLをエンコードして送信してみました。しかし、サーバーはステータスが禁止されていると言います

これに対する解決策はありますか?

アップデート ::

それは結局

http://abc.com/addToWishlist.php?rand=506075547542422&image=http://thumbs1.ebaystatic.com/m/mO64jQrMqam2jde9aKiXC9A/140.jpg&prod=Flat%20USB%20Data%20Sync%20Charging%20Charger%20Cable%20Apple%20iPhone%204G%204S%20iPod%20Touch%20Nano

Javascript コード ::

function addToWishlist(num) {
var myurl = "addToWishlist.php";
var myurl1 = myurl;
myRand = parseInt(Math.random()*999999999999999);

var rand  = "?rand="+myRand ;
var modurl = myurl1+ rand + "&image=" + encodeURI(storeArray[num][1]) + "&prod=" + encodeURI(storeArray[num][0]);
httpq2.open("GET", modurl, true);
httpq2.onreadystatechange = useHttpResponseq2;
httpq2.send(null);
}
function useHttpResponseq2() {
if (httpq2.readyState == 4) {
if(httpq2.status == 200) {
var mytext = httpq2.responseText;
document.getElementById('wish' + num).innerHTML = "Added to your wishlist.";
}
}
}

サーバーコード

<?php
include('/home/ankit/public_html/connect_db.php');

$image = $_GET['image'];
$prod = $_GET['prod'];
$id = $_GET['id'];



echo $prod;
echo $image;
?>

私が述べたように、そのかなりの基本

その他のアップデート :

AJAX経由でPOSTリクエストをサーバーに送信しようとすると、次のように表示されます:-

Refused to set unsafe header "Content-length"
Refused to set unsafe header "Connection"
4

2 に答える 2

5

2つのこと。

  1. encodeURIComponent()の代わりに使用しencodeURI()ます。

    これに関する詳細な議論は次のとおりです。encodeURI/encodeURIComponentの代わりにエスケープを使用するのはいつですか?

  2. JavaScript を初めて使用する場合は、いくつかのライブラリを使用して AJAX 作業を支援してください。mootools、jQuery などのように。

于 2012-11-13T04:04:16.687 に答える
0

POSTリクエストを使用すると問題が解決しました:)

function addToWishlist(num) {
var url = "trial.php";
var parameters = "prod=" + encodeURIComponent(storeArray[num][0]) + "&image=" + encodeURIComponent(storeArray[num][1]);
httpq2.open("POST", url, true);
httpq2.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpq2.onreadystatechange = function(){
if (httpq2.readyState == 4) {
if(httpq2.status == 200) {
var mytext = httpq2.responseText;
document.getElementById('wish' + num).innerHTML = "Added to your wishlist.";
}
}
};
httpq2.send(parameters);
}
于 2012-11-13T04:57:12.540 に答える