移动应用(html5 / javascript)与Google App Engine示例进行通信

时间:2012-04-20 01:07:13

标签: javascript html5 google-app-engine

我正在使用GAE构建移动应用程序(html5 / javascript + PhoneGap)作为后端服务器(Java)。经过几天的研究仍然无法全面了解。

通信部分是否有此类配置的开源示例?主要是OAuth,从移动客户端发送/接收数据,用户通道API,推送通知等。

GAE中的所有示例都适用于网络应用,但我认为不适用于外部移动客户端。这就是它与众不同的原因。

我在某处学到了XMLHttpRequest不支持跨域通信,所以我不应该使用它?

jQuery.ajax()似乎可以满足我的要求吗?同样,一个开源示例项目可以帮助我很多!

任何链接/建议都将不胜感激!

感谢。

1 个答案:

答案 0 :(得分:0)

  
    

通信部分是否有这种配置的开源示例?

  

https://github.com/blueimp/jQuery-File-Upload

或者,进一步调查jquery ajax调用...

function uploadPicture() {

  // blog.w3villa.com/websites/uploading-filesimage-with-ajax-jquery-without-submitting-a-form/
  // 

  var form_data = new FormData();      // Creating object of FormData class
  var file_data = photo.src;   // Getting the properties of file from file field
  // form_data.append("file", file_data);  // Appending parameter named file with properties of file_field to form_data
  // var blob = new Blob([file_data], {type: 'image/png'});
  // form_data.append("file", blob)

  var dataURI = photo.src;

  alert(dataURI);

  form_data.append("file", dataURItoBlob(dataURI));

  form_data.append("field1", "stuff1");     // Adding extra parameters to form_data
  alert(JSON.stringify(form_data));

  $.ajax({
      url: serverURL,
      dataType: 'json',    // the format of the response
      cache: false,
      contentType: false,  // the format of data being sent to the server as part of request
      //                      shazwazza.com/post/Uploading-files-and-JSON-data-in-the-same-request-with-Angular-JS
      //                      setting the Content-type to 'false' will force the request to automatically
      //                      populate the headers properly including the boundary parameter.
      // stackoverflow.com/questions/2845459/jquery-how-to-make-post-use-contenttype-application-json
      // contentType:"application/json; charset=utf-8",
      // contentType:"multipart/form-data; charset=utf-8",
      processData: false,    // do not convert outgoing data to a string
      data: form_data,       // Setting the data attribute of ajax with file_data
      type: 'post',
      success: function(data) {
                alert("success! data: " + JSON.stringify(data));
                }
  });