jQuery AJAX调用(POST到PHP)问题

jQuery AJAX调用(POST到PHP)问题,php,jquery,ajax,Php,Jquery,Ajax,我需要在jQuery中使用$.ajax()调用,在我的PHP脚本中发布一点JSON 我什么都试过了,但没有一件像我希望的那样有效。我只是尝试回显$\u POST/$\u GET数组的var\u转储,但它返回为空 var myJSONObject = {"bindings": [{"conversation": _conid} ]}; var obj = $.toJSON(myJSONObject); $.ajax({ type: "POST", url: "./code/aja

我需要在jQuery中使用
$.ajax()
调用,在我的PHP脚本中发布一点JSON

我什么都试过了,但没有一件像我希望的那样有效。我只是尝试回显$\u POST/$\u GET数组的var\u转储,但它返回为空

var myJSONObject = {"bindings": [{"conversation": _conid} ]};
var obj = $.toJSON(myJSONObject);

$.ajax({
    type: "POST",
    url: "./code/ajax/fetch_messages.php",
    data: obj,
    async:true,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(data) 
    {
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) 
    {
    },
    beforeSend: function (XMLHttpRequest) 
    {

    },
    complete: function (XMLHttpRequest, textStatus) 
    {
  }});
我可以通过查看标题看到这篇文章:

{“绑定”:[{“对话”:“38x001C61450AD4D5ABD47C37408E8236EB5427F54E293000030682646E4016C5F8ECF8E00A18A26AB3B6D07F6727BD187625DAAEDF951F93072D54D59E300E100”}]

PHP:

当使用
$.post()
调用时,一切都很好,但当我尝试切换到
$.ajax
时,总是遇到问题。我需要使用它来检索UTF-8编码的响应

本文中粘贴的代码只是我尝试过的许多代码片段中的一个,即使是web教程中的示例也不起作用


有人能给我一个你知道有用的片段,让我试试吗?通过POST发送JSON。

我认为您必须给JSON字符串一个键,这样您就可以在另一端(PHP)获取它:


然后在PHP上,它将出现在
$\u POST['myjson']

下面是我的例程的一部分,它工作正常:

var data = 'post_type=' + post_type.val() + '&page_id=' + 
 page_id.val() + '&home_page='
 + home_page.attr('checked') + '&archive_page='  + 
 archive_page.attr('checked') + '&search_page=' + 
  search_page.attr('checked');


    //start the ajax
        $.ajax({
            //this is the php file that processes the data and send mail
            url: "?service=set_data",

            //GET method is used
            type: "GET",

            //pass the data        
            data: data,    

            //Do not cache the page
            cache: true,

            //success
            success: function (html) {                          
                    $(".no-items").hide("slow");
                    $("#list_table").append(html).hide().slideDown('slow');              
            }      
        });

谢谢但是当使用“get”而不发送json时,我没有任何问题。不,这不起作用。它将发送头的格式从json更改为myjson=%7B%22绑定%22%3A%5B%7B%22会话%22%3A%2238x001C61450AD4D5ABD47C37408E8236EB5427F544E293000030682646E4016C5F8ECF8E00A18A26AB3B6D07F6727BD187625DAAEDF951F93072D54D59E300E100%22%7D%7D%7D从
$删除“contentType”行。ajax
选项,或者将其设置为
“application/x-www-form-urlencoded”
yey!这就是问题所在!谢谢奇怪的是,教程没有将其视为问题。
data: {"myjson": obj},
var data = 'post_type=' + post_type.val() + '&page_id=' + 
 page_id.val() + '&home_page='
 + home_page.attr('checked') + '&archive_page='  + 
 archive_page.attr('checked') + '&search_page=' + 
  search_page.attr('checked');


    //start the ajax
        $.ajax({
            //this is the php file that processes the data and send mail
            url: "?service=set_data",

            //GET method is used
            type: "GET",

            //pass the data        
            data: data,    

            //Do not cache the page
            cache: true,

            //success
            success: function (html) {                          
                    $(".no-items").hide("slow");
                    $("#list_table").append(html).hide().slideDown('slow');              
            }      
        });