在截击库中未调用Post方法


post method not called in volley lib - android

我正在使用volley lib,但是我遇到了一个奇怪的问题。截击库不返回任何值。但是我在这个站点https://www.hurl.it/上测试了我的web服务,它返回值。

我的webservice:

http://shadyab.com/Mobile/vitrin/index.php

if(isset($_POST['get_job_service_category'])){
        require_once 'include/DB_Functions.php';
        $object = new DB_Functions();
        echo json_encode($object->getJobServiceCategory());
    }

我的截击功能:

    private void getAllCategories(){
    RequestQueue queue = MyVolley.getRequestQueue();
    StringRequest myReq = new StringRequest(Request.Method.POST,
            TagsClass.URL_ADDRESS,
            createMyReqSuccessListener(),
            createMyReqErrorListener()) {
        protected Map<String, String> getParams() throws com.android.volley.AuthFailureError {
            Map<String, String> params = new HashMap<String, String>();
            params.put("get_job_service_category","-");
            return params;
        };
    };
    queue.add(myReq);
}
    private Response.Listener<String> createMyReqSuccessListener() {
    return new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            parseResultOfServer(response.toString());
        }
    };
}

private void parseResultOfServer(String str){
    Log.e("sss", "=>" + str);
    Toast.makeText(getActivity(),"=>"+str,Toast.LENGTH_LONG).show();
}
private Response.ErrorListener createMyReqErrorListener() {
    return new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e("err","="+error.getMessage());
        }
    };
}

我错在哪里?

myvol .java class:

import android.app.ActivityManager;
import android.content.Context;
import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;

/**
 * Helper class that is used to provide references to initialized RequestQueue(s) and ImageLoader(s)
 * 
 * @author Ognyan Bankov
 * 
 */
public class MyVolley {
    private static RequestQueue mRequestQueue;
    private static ImageLoader mImageLoader;

    private MyVolley() {
        // no instances
    }

    public static void init(Context context) {
        mRequestQueue = Volley.newRequestQueue(context);
        int memClass = ((ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE))
                .getMemoryClass();
        // Use 1/8th of the available memory for this memory cache.
        int cacheSize = 1024 * 1024 * memClass / 8;
        mImageLoader = new ImageLoader(mRequestQueue, new BitmapLruCache(cacheSize));
    }

    public static RequestQueue getRequestQueue() {
        if (mRequestQueue != null) {
            return mRequestQueue;
        } else {
            throw new IllegalStateException("RequestQueue not initialized");
        }
    }

    /**
     * Returns instance of ImageLoader initialized with {@see FakeImageCache} which effectively means
     * that no memory caching is used. This is useful for images that you know that will be show
     * only once.
     * 
     * @return
     */
    public static ImageLoader getImageLoader() {
        if (mImageLoader != null) {
            return mImageLoader;
        } else {
            throw new IllegalStateException("ImageLoader not initialized");
        }
    }
}

解决! !

我添加了www http://shadyab.com/Mobile/vitrin/index.php和解决它 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

修改代码:

Request.Method.POST 

to this:

Method.POST
StringRequest中的

Method仅为Request.java的接口。

您将得到如下响应字符串:

[{"id":"1","title":"'u062e'u062f'u0645'u0627'u062a 'u0641'u0646'u06cc
'u0645'u0647'u0646'u062f'u0633'u06cc"},{"id":"2","title":"'u0622'u0645'u0648'u06‌​32'u0634"}]