0

URL の文字列の送信に問題があるようです。URL は次のようになります。

http://www.thewebsitehere.com/mf2/stuff/dirhere.asp?sid=&nm=&type=Publishing&mod=Publions::Article&mid=8F3A7027421F87F791&SiteID=B824D34CAB8727A06DEA3467&tier=4&id=8964A4D50BB59A0AD48594A

そのすべての情報を JS 内に送信しますが、php ページに到達すると、次のようになります。

http://www.thewebsitehere.com/mf2/stuff/dirhere.asp?sid=

私のAjaxは次のように設定されています:

jQuery.ajax({
    type: "POST",
    dataType: "html",
    data: "type=add" + "&1A=" + pubName + "&1B=" + postID + "&1C=" + PostTitle + "&1D=" + timeStamp + "&1E=" + pdfLink + "&1F=" + imgLink + "&1G=" + fullArticleLink,
    url: "../wp-content/plugins/visual-editor-custom-buttons/js/wpDataSend.php",
    success: function(results) {
        if (results.indexOf("done") >= 0) {
            showNotifier(8000,'#43d32b','Title, Pub Name, Image, Date, PDF & Article link have been saved!');
        } else {
             showNotifier(8000,'#d32b2b','Could not save... Please try again!');
        }
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        console.log("Status: " + textStatus);
        console.log("Error: " + errorThrown);
        showNotifier(8000,'#d32b2b','Error: ' + textStatus + ' | ' + errorThrown);
    }
});

そして、次のように PHP ページからデータを収集しています。

$newtype     = $_POST['type'];
$pubName     = $_POST['1A'];
$postID     = $_POST['1B'];
$PostTitle     = $_POST['1C'];
$timeStamp     = $_POST['1D'];
$pdfLink     = $_POST['1E'];
$imgLink     = $_POST['1F'];
$Fullarticle   = $_POST['1G'];

どうすればこれを修正できますか?

4

3 に答える 3

4

を使用して正しい方法で投稿パラメーターを送信できます

jQuery.ajax({
   ...
   data: {param1 : value1, param2: value2}
于 2013-03-21T14:02:01.000 に答える
1

encodeURIComponentを試してください。これにより、URL 内の特定の文字がエスケープされ、UTF-8 標準に準拠します。

var encodedURL = encodeURIComponent(str);
于 2013-03-21T14:05:07.780 に答える
0

データを次のように変更します。

data: {type: "add", 1A: "pubName"....//and so on},

値を引用符で囲む必要があります。

于 2013-03-21T14:05:29.833 に答える