I have this code and it's working fine
HTML
<form method="POST" action="http://example.com/downloadtest.php">
<button type="submit">Submit button</button>
</form>
PHP (downloadtext.php)
header("access-control-allow-origin: *");
$urls = array("www.domain.com/image1.jpg", "www.domain.com/image2.jpg");
//php code do download the images to a temp folder
function createZipfile($folderName) {
    // make sure to send all headers first
    // Content-Type is the most important one (probably)
    //
    header('Content-Type: application/octet-stream');
    header('Content-disposition: attachment; filename="myzip.zip"');
    // use popen to execute a unix command pipeline
    // and grab the stdout as a php stream
    // (you can use proc_open instead if you need to
    // control the input of the pipeline too)
    //
    $fp = popen('zip -r -j - tmp/'.$folderName, 'r');
    // pick a bufsize that makes you happy (8192 has been suggested).
    $bufsize = 8192;
    $buff = '';
    while( !feof($fp) ) {
        $buff = fread($fp, $bufsize);
        echo $buff;
    }
    pclose($fp);
}
I get a zip-file. But I want to know when all the images are downloaded so I am trying to use ajax insted with jsonp. I am using the same PHP code.
I want to replace the html form with ajax post. I now have this html and javascript (ajax post) instead of the html post form. The php script i still the same.
html
<button class="download-all-images">Download</button>
javascript
$(".download-all-images").click(function(){
    $.ajax({
         url:"http://example/downloadtest.php",
         type: "POST",
         dataType: 'jsonp', // Notice! JSONP <-- P (lowercase)
         success:function(json){
             alert("Success ");
         },
         error:function(e){
             alert("Error " + e.message);
         }
    });
});
I'am not getting any zip file with the ajax method and ajax gives me "Error: undefined". I get "Success" if I comment out the zip-file code but keep the code that downloads the images to a temp folder. My php script is not on the same server as the site (html/javascript). And I get a response with this in my php file
echo $_GET['callback'] . '('.json_encode($urls).')';
if I comment out my zip-function.
