2

我在这里想念什么?

我正在尝试通过 jQuery AJAX POST 传递字符串数组。

var json = JSON.stringify( selectedTags );
var data = json;

...

var apiCall = $.ajax({
    url: "service-getemails-multiple.php",
    data: data,
    type: "POST"
    //beforeSend: alert(data)
}).done(function(data) {
    $(".ui-dialog-titlebar-close").show();
    var html = '<textarea style="width: 100%; height: 90%" id="emailsTextbox">' + data + '</textarea>';
    html += data;
    html += "\" target=\"new\">Send Email</a></p>";
    $("#dialog").html(html);
    $("#emailsTextbox").focus();
    $("#emailsTextbox").select();
});

我的捕手(“service-getemails-multiple.php”)目前非常简单,我不明白为什么它无法捕获 AJAX 请求(POST)。

<?php

var_dump($_POST);

?>

在 Firebug 中,我可以看到在 XHR/Post 下作为参数和源下传递的值。如果我取消注释“beforeSend:警报(数据)”,警报值就好了。

那么我做错了什么?

4

3 回答 3

1

我认为该功能对data: data部分感到困惑。

试试这个

var apiCall = $.ajax({
    url: "service-getemails-multiple.php",
    data: json, // <!-- Use json instead. Its the same thing
    type: "POST"
    //beforeSend: alert(data)
}).done(function(data) {
    $(".ui-dialog-titlebar-close").show();
    var html = '<textarea style="width: 100%; height: 90%" id="emailsTextbox">' + data + '</textarea>';
    html += data;
    html += "\" target=\"new\">Send Email</a></p>";
    $("#dialog").html(html);
    $("#emailsTextbox").focus();
    $("#emailsTextbox").select();
});
于 2013-03-18T15:01:06.770 回答
1

试试这个:

var json = JSON.stringify( selectedTags );
var thedata = json;
....
var apiCall = $.ajax({
    url: "service-getemails-multiple.php",
    data: {mydata: thedata},
    type: "POST"
    //beforeSend: alert(data)
}).done(function(data) {
    $(".ui-dialog-titlebar-close").show();
    var html = '<textarea style="width: 100%; height: 90%" id="emailsTextbox">' + data + '</textarea>';
    html += data;
    html += "\" target=\"new\">Send Email</a></p>";
    $("#dialog").html(html);
    $("#emailsTextbox").focus();
    $("#emailsTextbox").select();
});
于 2013-03-18T15:01:14.273 回答
0

试试这个 { dataType: 'json'}

它看起来像 ** var apiCall = $.ajax({ url: "service-getemails-multiple.php", data: data, type: "POST", dataType: 'json', //beforeSend: alert(data ) }).done(function(data) { $(".ui-dialog-titlebar-close").show(); var html = '' + data + ''; html += data; html += "\ " target=\"new\">发送电子邮件

"; $("#dialog").html(html); $("#emailsTextbox").focus(); $("#emailsTextbox").select(); });**

于 2013-03-18T15:06:15.827 回答