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: alert(data)」のコメントを外すと、問題ありません。

それで、私は何を間違っていますか?

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 = '' + データ + ''; html += データ; html += "\ " target=\"new\">メールを送信

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

于 2013-03-18T15:06:15.827 に答える