Php jqueryajax通过URL字符串发送

Php jqueryajax通过URL字符串发送,php,jquery,ajax,Php,Jquery,Ajax,我似乎在发送URL字符串时遇到问题。URL如下所示: 它会在JS中发送所有信息,但它只有在进入php页面时才会显示如下: 我的Ajax设置如下: jQuery.ajax({ type: "POST", dataType: "html", data: "type=add" + "&1A=" + pubName + "&1B=" + postID + "&1C=" + PostTitle + "&1D=" + timeStamp + "&a

我似乎在发送URL字符串时遇到问题。URL如下所示:

它会在JS中发送所有信息,但它只有在进入php页面时才会显示如下:

我的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'];
如何更正此问题?

您可以使用

您可以使用发送post参数

试试看。这将转义URL中的某些字符以符合UTF-8标准

var encodedURL = encodeURIComponent(str);
试试看。这将转义URL中的某些字符以符合UTF-8标准

var encodedURL = encodeURIComponent(str);

将您的数据更改为:

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

您必须在值周围加引号和。

将数据更改为:

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

您必须在值周围加上引号和引号。

@DarkCthulhu:为了收集这些信息,我的PHP端是否会相同?我需要将数据类型更改为json吗?@StealthRT也一样。它们仍然会以post参数的形式到达。@DarkCthulhu:为了收集这些信息,我的PHP端会是相同的吗?我需要将数据类型更改为json吗?@StealthRT也一样。它们仍将作为post参数到达。您正在发布到“wpDataSend.php”,但得到的是“dirhere.asp”?实际的URL是什么?你在发送一个
sid
param吗?@Emmett这只是一个链接。与将数据发送到的.php页面无关。您正在发布到“wpDataSend.php”,但得到的却是“dirhere.asp”?实际的URL是什么?你在发送一个
sid
param吗?@Emmett这只是一个链接。与将数据发送到的.php页面无关。