如何在PHPH中回复XMLHttpRequest中的元素?

时间:2016-07-08 15:16:35

标签: javascript php jquery ajax

在我的控制器端,我有三个数据被回应..

try:
    headers = {
        'content-type': "multipart/form-data",
        'authorization': "Basic ZXNlbnRpcmVcYdddddddddddddd",
        'cache-control': "no-cache",
    }
    myfile = {"file": ("filexxx", open(filepath, "rb"))}

    response = requests.request("POST", verify=False, url=url, data=myfile, headers=headers)

    print(response.text)
except Exception as e:
    print "Exception:", e

在我的客户端,我有以下ajax代码,

 echo $variant->Field1;

现在我有了`

function variants(master_id,sku)
{

                  if(master_id=="")
                  {
                     document.getElementById("variants").innerHTML = "";     
                      return false;
                  }
                  else
                  {
                    var xhttp = new XMLHttpRequest();
                    xhttp.onreadystatechange = function() 
                      {
                        if (xhttp.readyState == 4 && xhttp.status == 200) 
                        {
                            document.getElementById("variants").innerHTML = xhttp.responseText;
                        }

                    };
                        xhttp.open("GET", "{{ url('/getVariants') }}"+'/'+master_id+'/'+sku, true);
                        xhttp.send();
                  }

我不希望名称全部显示在一个标签中......而是...对于每个回显的数据,我想要新的列元素。我该怎么做?

对此的任何答案都非常明显......

1 个答案:

答案 0 :(得分:1)

不应回显每个数据,而应将所有数据放在对象或数组中,并回显json:

echo json_encode($data_array);

从客户端,您可以获得答案并进行迭代,将内容放在不同的元素中。

if (xhttp.readyState == 4 && xhttp.status == 200)
{
    var jsonResponse = JSON.parse(xhttp.responseText);
    var text = '';
    for(var key in jsonResponse)
    {
        text += '<p>'+jsonResponse[key]+'</p>';
    }
    document.getElementById("variants").innerHTML = text;
}